basiclocationinfodisplay/blid/ui/src/CHtkTripMeterControl.cpp
branchRCL_3
changeset 17 1fc85118c3ae
parent 16 8173571d354e
child 18 870918037e16
--- a/basiclocationinfodisplay/blid/ui/src/CHtkTripMeterControl.cpp	Thu Aug 19 09:48:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2149 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Blid application Tripmeter view's control class definition.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <coemain.h>
-#include <akncontext.h> 
-#include <aknnavide.h> 
-#include <eikspane.h> 
-#include <StringLoader.h> 
-#include <akntitle.h> 
-#include <akntabgrp.h>
-#include <blid.mbg>
-#include <blid.rsg>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <centralrepository.h>
-#include <aknnotedialog.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknUtils.h>
-#include <AknsConstants.h>
-
-#include <alf/alfenv.h>
-#include <alf/alfanchorlayout.h>
-#include <alf/alftextvisual.h>
-#include <alf/alfborderbrush.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alfevent.h>
-#include <alf/alftransformation.h>
-#include <alf/alfimagevisual.h>
-#include <alf/alftexture.h>
-#include <alf/alfroster.h>
-#include <alf/alflinevisual.h>
-#include <alf/alfcurvepath.h>
-#include <alf/alfcurvepathlayout.h>
-#include <alf/alfimagebrush.h>
-#include <alf/alfframebrush.h>
-#include <alf/alfdecklayout.h>
-#include <alf/alftextstyle.h>
-#include <alf/alfutil.h>
-#include <alf/alfimageloaderutil.h>
-// USER INCLUDES
-#include "CBlidBaseView.h"
-#include "CBlidEng.h"
-#include "CHtkTripMeterControl.h"
-#include "Blid.hrh"
-#include "CHtkTripMeterControl.h"
-#include "MBlidRouter.h"
-#include "MBlidSettings.h"
-#include "MBlidLocation.h"
-#include "e32const.h"
-#include "Blidutils.h"
-#include "bliduiconsts.h"
-#include "BlidSettingsCrkeys.h"
-#include "Debug.h"
-
-_LIT( KText1,  " " );
-_LIT( KDistanceFormat,"%.1f" );
-const TInt KTimerInterval = 200000;
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CHtkTripMeterControl::NewL()
-// ---------------------------------------------------------
-//
-CHtkTripMeterControl* CHtkTripMeterControl::NewL(CAlfEnv& aEnv,
-				    							MKeyProcessor& aKeyProcessor,
-		                                        MObjectProvider* /*aParent*/,
-				                                const TRect& aRect,
-		                                        MBlidLocation* aLocation,
-		                                        MBlidRouter* aRouter,
-		                                        CBlidEng& aEngine,
-		                                        CBlidBaseView& aView)
-    {
-	CHtkTripMeterControl* self =
-		new (ELeave) CHtkTripMeterControl( aEnv, aKeyProcessor, *aRouter, aView, aEngine );
-	CleanupStack::PushL(self);
-	self->ConstructL(aEnv, aRect, aLocation, aEngine );
-    CleanupStack::Pop( self ); // self
-	return self;
-    }
-
-
-// ---------------------------------------------------------
-//
-//CHtkTripMeterControl::CHtkTripMeterControl()
-// ---------------------------------------------------------
-//
-CHtkTripMeterControl::CHtkTripMeterControl(CAlfEnv& aEnv,
-					    					MKeyProcessor& /*aKeyProcessor*/,
-				                            MBlidRouter& aRouter,
-					                        CBlidBaseView& aView,
-					                        CBlidEng& aEngine )
-    : CAlfControl( ),iRouter( aRouter ),iView( aView ), iEngine(aEngine),iEnv(aEnv)
-
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::ConstructL()
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::ConstructL( CAlfEnv& aEnv,
-										const TRect& /*aRect*/,
-					                    MBlidLocation* aLocation,
-					                    CBlidEng& aEngine )
-    {
-    
-    CAlfControl::ConstructL( aEnv );
-    
-    iLocation = aLocation ;
-    iSpeedCount = 0;
-    iSettingsModel = aEngine.SettingsModel();
-    
-    iDurationFormatLong = CEikonEnv::Static()->AllocReadResourceL( 
-                      R_QTN_TIME_DURAT_LONG_WITH_ZERO );
-
-    iSpeedFormatKmph = CEikonEnv::Static()->AllocReadResourceL( R_BLID_METRIC_SPEED_FORMAT );
-    
-    iSpeedFormatMph = CEikonEnv::Static()->AllocReadResourceL( R_BLID_IMPERIAL_SPEED_FORMAT );                       
-
-		
-    /// item's formats
-    iDataBlank = StringLoader::LoadL( R_BLID_BLANK, CEikonEnv::Static() );    
-	iTripDistance = HBufC::NewL( KBlidLBItemMaxLen );
-	iOdometerDistance = HBufC::NewL( KBlidLBItemMaxLen );
-	iImagePath = HBufC::NewL( iEnv.TextureManager().ImagePath().Length() + 1 );
-	iImagePath->Des().Copy( iEnv.TextureManager().ImagePath() );
-	
-	iRepository = CRepository::NewL( KCRUidBlidOdometerSettings );
-	TInt error = iRepository->Get( KBlidOdometerSettingsValue, iLastodometerValue );
-	if( error == KErrNone )
-		{
-		iOdoValueToStore = iLastodometerValue;
-		FormatOdometerDistance( iLastodometerValue );
-		}
-
-    TInt textStyleId = iEnv.TextStyleManager().
-        CreatePlatformTextStyleL( EAknLogicalFontDigitalFont, 
-                                  EAlfTextStyleSmall );
-    iStyle1 = iEnv.TextStyleManager().TextStyle( textStyleId );                                  
-    iStyle1->SetBold( ETrue );
-   	iStyle1->SetTextSizeInPixels( 22, ETrue );
-
-    // Create a single text visual. The pointer to the visual is stored
-    // as a member variable for later access.
-	CreateNaviPaneL( EFalse );
-    ActivateTabL( *iDecoratedTabGroup, EBlidNavigationView );
-    
-    iIsLessThanInitial = EFalse;
-    iSTripDimmed = EFalse;
-    
-    CalculateRects();
-    iTripLayout = CAlfAnchorLayout::AddNewL( *this );
-    CreateTripVisualsL();// ordinal 0 to 8
-	CreateSpeedVisualsL();// ordinal 9 to 17
-	CreateSignalTexturesL();
-	CreatePopupImgTextureL();
-	// image visual for signal strength
-	iImageVisual = CAlfImageVisual::AddNewL(*this, iTripLayout);// ordinal 18
-	
-	LaunchDeviceNotAvlNoteL( );
-	SetAnchors();
-    
-    // Make the dial in zeroth position
-    iNextAngle = -( ( 240.0 / iMaxScale ) * iCurrSpeed ) + 30;  	
-	RotateSpeedDialL( iPrevAngle, iNextAngle );
-	iPrevAngle = iNextAngle;	      
-	isDeviceUnavailableDisplayed = EFalse;	      
-	iIsDownPressed = EFalse;	      
-    }
-
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::CreateSpeedVisualsL()
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::CreateSpeedVisualsL()
-	{
-	TInt j = 0;
-	HBufC* lTextSpeed = HBufC::NewLC( 20 );
-	
-	for ( TInt i = 0; i < 9; i++ )
-		{
-		iMileVisual[i] = CAlfTextVisual::AddNewL( *this, iTripLayout );// ordinal 9 to 17
-		lTextSpeed->Des().Zero();
-		lTextSpeed->Des().AppendNum( j );
-		j = j + 5;
-		iMileVisual[i]->SetTextL( *lTextSpeed );
-		iMileVisual[i]->SetTextStyle( iStyle1->Id() );
-		iMileVisual[i]->SetColor( KRgbWhite );
-		iMileVisual[i]->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-		iMileVisual[i]->SetPadding(TAlfBoxMetric(TAlfMetric(.04, EAlfUnitNormalized)));			
-		}
-
-	iMaxScale = j - 5;		
-	CleanupStack::PopAndDestroy( lTextSpeed );
-	}
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::CreateGlobeVisualL
-// ----------------------------------------------------
-//
-void CHtkTripMeterControl::CreatePopUpVisualL( )
-	{
-	// code to load svg icon
-	MAlfBitmapProvider* provider = NULL;
-	
-	// first creste the image loader utils and then call SetSize.	
-    iView.ImageLoaderUtils()->SetSize( TAlfRealSize( 60, 60 ) );
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_01, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_01_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture1 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture1);
-    												 
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_02, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_02_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture2 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture2);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_03, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_03_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture3 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture3);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_04, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_04_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture4 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture4);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_05, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_05_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture5 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture5);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_06, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_06_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture6 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture6);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_07, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_07_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture7 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture7);
-    
-    // then create the bitmap provider  
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSearching, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_searching_08, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_searching_08_mask ); // bitmap mask id defiened in mbg file
-	// now using that bitmap provider create the texture.
-	CAlfTexture & texture8 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-    iPopupTextures.Append(&texture8);
-	}
-	
-// ---------------------------------------------------------
-// CHtkTripMeterControl::ChangeSpeedometerScaleL()
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::ChangeSpeedometerScaleL()
-	{
-	TInt j = 0;
-	HBufC* lTextSpeed = HBufC::NewLC( 20 );
-	for ( TInt i = 0; i < 9; i++ )
-		{
-		lTextSpeed->Des().Zero();
-		if( iCurrSpeed > 40 &&
-			iCurrSpeed <= 200 )
-			{
-			lTextSpeed->Des().AppendNum( j );
-			j = j + 25;	
-			}
-		else if( iCurrSpeed <= 40 )
-			{
-			lTextSpeed->Des().AppendNum( j );			
-			j = j + 5;		
-			}
-		iMileVisual[i]->SetTextL( *lTextSpeed );
-		}
-		
-	if( iCurrSpeed > 40 &&
-		iCurrSpeed <= 200 )
-		{
-		iMaxScale = j - 25;
-		}
-	else if( iCurrSpeed < 40 )
-		{
-		iMaxScale = j - 5;
-		}
-
-	CleanupStack::PopAndDestroy( lTextSpeed );
-
-	}
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::CreateSpeedFormatsL()
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::CreateSpeedFormatsL()
-	{
-	iSpeedFormatVisual = CAlfTextVisual::AddNewL( *this, iTripLayout );// ordinal 18
-	TInt typefaceStyleId = iEnv.TextStyleManager().CreatePlatformTextStyleL(EAknLogicalFontPrimarySmallFont, EAlfTextStyleSmall);
-	
-	if ( iSettingsModel->UnitOfMeasurement() == EUnitsMetric )
-		{
-		iSpeedFormatVisual->SetTextL( *iSpeedFormatKmph );		
-		}
-	else
-		{
-		iSpeedFormatVisual->SetTextL( *iSpeedFormatMph );	
-		}
-	iSpeedFormatVisual->SetTextStyle( typefaceStyleId );
-	iSpeedFormatVisual->SetColor( KRgbWhite );
-	iSpeedFormatVisual->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );	
-	iSpeedFormatVisual->SetPadding(TAlfBoxMetric(TAlfMetric(.03, EAlfUnitNormalized)));
-	}
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::CreateTripVisualsL()
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::CreateTripVisualsL( )
-	{
-	MAlfBitmapProvider* provider = NULL;
-	
-	iBigTripVisual = CAlfImageVisual::AddNewL(*this, iTripLayout);// ordinal 0
-
-    // create the bitmap provider
-    iView.ImageLoaderUtils()->SetSize( iBigTripRect.Size() );
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidTpmeter, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_tpmeter, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_tpmeter_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & tripTexture1 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 
-		                                                                  
-	iBigTripVisual->SetImage(TAlfImage(tripTexture1));// big trip
-
-	iTripDeckVisual = CAlfImageVisual::AddNewL(*this, iTripLayout);// ordinal 1	
-	
-    iView.ImageLoaderUtils()->SetSize( iTripDeckRect.Size() ); 
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidInfo, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_info, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_info_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & tripTexture2 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 
-			                                                                  
-	iTripDeckVisual->SetImage( TAlfImage( tripTexture2 ) );//trip table
-
-    iTripMeter = CAlfTextVisual::AddNewL( *this, iTripLayout );// ordinal 2
-	TRgb rgb;
-	AknsUtils::GetCachedColor ( AknsUtils::SkinInstance(),
-								rgb,
-								KAknsIIDQsnTextColors,
-								EAknsCIQsnTextColorsCG1 
-								);
-								
-    iTripMeter->SetColor( rgb );
-    iTripMeter->SetClipping( EFalse );
-	iTripMeter->SetTextStyle( iStyle1->Id() );	
-	iTripMeter->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-
-	iOdoDeckVisual = CAlfImageVisual::AddNewL(*this, iTripLayout );// ordinal 3
-	
-    iView.ImageLoaderUtils()->SetSize( iOdoDeckRect.Size() ); 
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidInfo, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_info, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_info_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & tripTexture6 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 
-                                                                	
-	iOdoDeckVisual->SetImage( TAlfImage( tripTexture6 ) );//odometer table
-	
-    iOdoMeter = CAlfTextVisual::AddNewL( *this, iTripLayout );// ordinal 4
-	iOdoMeter->SetColor( rgb );
-    iOdoMeter->SetClipping( EFalse );
-	iOdoMeter->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-	iOdoMeter->SetTextStyle( iStyle1->Id() );
-	iOdoMeter->SetTextL( *iOdometerDistance );
-	
-	// Speed Format
-	CreateSpeedFormatsL();// ordinal 5
-
-	iTripDialVisual = CAlfImageVisual::AddNewL(*this, iTripLayout );// ordinal 6
-	
-    iView.ImageLoaderUtils()->SetSize( iTripDialRect.Size() ); 
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidTpPointer, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_tp_pointer, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_tp_pointer_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & tripTexture4 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 
-		                                                                 
-	iTripDialVisual->SetImage( TAlfImage( tripTexture4 ) );//pointer
-	
-	iTripTimeVisual = CAlfImageVisual::AddNewL(*this, iTripLayout );// ordinal 7	
-
-    iView.ImageLoaderUtils()->SetSize( iClockImageRect.Size() ); 
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidTime, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_time, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_time_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & tripTexture7 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 
-	
-	iTripTimeVisual->SetImage( TAlfImage( tripTexture7 ) );//clock
-	
-	// trip time text	
-    iTriptime = CAlfTextVisual::AddNewL( *this, iTripLayout );// ordinal 8
-    iTriptime->SetColor( rgb );
-    iTriptime->SetClipping( EFalse );
-	iTriptime->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-	iTriptime->SetTextStyle( iStyle1->Id() );
-	}
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::~CHtkTripMeterControl()
-// ---------------------------------------------------------
-//
-CHtkTripMeterControl::~CHtkTripMeterControl()
-    {
-    delete iPeriodic;
-    iPeriodic = NULL;
-    iPopupTextures.Reset();
-    iPopupTextures.Close();
-	delete iDecoratedTabGroup;
-	delete iDurationFormatLong;
-	delete iDataBlank;
-	delete iOdometerDistance;
-	delete iTripDistance;
-	delete iSpeedFormatKmph;
-	delete iSpeedFormatMph;
-	delete iRepository;
-	delete iImagePath;
-	iSignalTextures.Reset();
-    iSignalTextures.Close();	
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::UpdateL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::UpdateL()
-    {
-    if((iEngine.AppMode() == CBlidEng::EAppForeground) && 
-       (iSettingsModel->GetBacklightOption() == EBlidBackLightOnDuringNavigation) && !iView.IsSettingsViewActive() )
-        {
-        User::ResetInactivityTime();        
-        }
-    
-	if( iLocation->IsGPSDataAvailable() )
-		{
-		isDeviceUnavailableDisplayed = EFalse;
-		if( iView.CBAPtr() )
-			{
-			iView.CBAPtr()->SetCommandSetL( R_BLID_SOFTKEYS_OPTIONS_EXIT__CONTEXTOPTIONS );
-			iView.CBAPtr()->DrawDeferred();
-			}			    
-		TInt satCount = 0;
-		iLocation->GetNumOfSatellitesL( satCount );
-		DisplaySatelliteSignalStrength( satCount );
-		if( !iSTripDimmed )
-			{
-        	iTripLayout->SetOpacity( 1.0 );				
-			}
-        iPopUpLayout->SetOpacity( 0.0 );
-		}
-	else
-		{
-        TFileName imagepathname;		
-		DisplaySatelliteSignalStrength( 0 );
-        iTripLayout->SetOpacity( 0.3 );
-        iPopUpLayout->SetOpacity( 1.0 );
-		// for MSK enabled phone add MSK        
-		if( iView.CBAPtr() )
-			{
-			iView.CBAPtr()->SetCommandSetL( R_BLID_OPTION_INFO_EXIT );
-			iView.CBAPtr()->DrawDeferred();
-			}
-		if( iPeriodic )
-		        {
-		        delete iPeriodic;
-		        iPeriodic = NULL;
-		        }				    
-		if( iLocation->WaitingGPSData() )
-		    {
-		    isSatelliteInfoLaunch = ETrue;
-		    if(KNumOfSearchIcon != iPopupTextures.Count())
-		    	CreatePopUpVisualL( );
-			HBufC* noteText = StringLoader::LoadLC( R_BLID_STARTUP_NAVITEXT_SEARCHING_GPS_SATELLITES, CEikonEnv::Static() );	
-			iPopUpMsg->SetTextL( *noteText );
-            iDisplayIcon = 1;
-		    iPeriodic = CPeriodic::NewL(0); // neutral priority 
-            iPeriodic->Start( TTimeIntervalMicroSeconds32( KTimerInterval ),
-                              TTimeIntervalMicroSeconds32( KTimerInterval ),
-                              TCallBack(Tick, this));
-            UpdateVisualImage();   
-			CleanupStack::PopAndDestroy(noteText); //noteText
-		    }
-        else
-            {
-            isSatelliteInfoLaunch = EFalse;
-		    HBufC* noteText = StringLoader::LoadLC( R_BLID_ERROR_NO_GPS_DEVICE, CEikonEnv::Static() );	
-			iPopUpMsg->SetTextL( *noteText );
-	    	iPopImage->SetImage(TAlfImage( *iPopupImgTexture ) );
-			CleanupStack::PopAndDestroy(noteText); //noteText        	
-				if(!isDeviceUnavailableDisplayed)
-				{
-					CHWRMLight* aHWRMLight = CHWRMLight::NewL();
-					isDeviceUnavailableDisplayed = ETrue;
-					if(aHWRMLight->LightStatus(CHWRMLight::EPrimaryDisplay) != CHWRMLight::ELightOn)
-					{
-						User::ResetInactivityTime();
-						aHWRMLight->LightOnL(CHWRMLight::EPrimaryDisplay);
-						aHWRMLight->ReleaseLight(CHWRMLight::EPrimaryDisplay);
-            }		    
-		        	delete aHWRMLight;	
-				}
-            }	       	
-		}	   	
-		
-	if( iLocation->HasTripStarted() ||
-		iLocation->IsTripCleared() ||
-		iLocation->IsTripReset() )
-		{
-	    SetTRipMeterValueL();
-	    SetOdoMeterValueL();
-	    SetTripTimeL();
-	    SetTripSpeed();
-		}
-    // logic for rotating the dial
-    if( iLocation->HasTripStarted() && 
-    	!iLocation->IsTripCleared() && 
-        !iLocation->IsTripReset() && 
-        iLocation->IsGPSDataAvailable() )
-	    {
-	    // Calculate Current Speed
-	    if ( iSettingsModel->UnitOfMeasurement() == EUnitsMetric )
-		    {
-	    	iCurrSpeed = ( iLocation->GetTripMaxSpeed() ) * KSpeedConvertion;
-		    }
-		else
-			{
-			iCurrSpeed = ( iLocation->GetTripMaxSpeed() ) * KSpeedConvertion;
-			iCurrSpeed *= KKilometreToMiles;
-			}		    
-		// Check if scale has to be changed
-		if( iCurrSpeed > 40 && iMaxScale == 40 )
-			{
-			ChangeSpeedometerScaleL();			
-			}
-		if( iCurrSpeed <= 40 && iMaxScale == 200 )
-			{
-			ChangeSpeedometerScaleL();			
-			}
-		// Calculate Next Angle	
-		iNextAngle = -( ( 240.0 / iMaxScale ) * iCurrSpeed ) + 30;
-		// Rotate dial  	
-		RotateSpeedDialL( iPrevAngle, iNextAngle );
-		// Set prev angle
-		iPrevAngle = iNextAngle;
-				
-	    }
-    }
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::Tick()
-// ---------------------------------------------------------
-//
-TInt CHtkTripMeterControl::Tick(TAny* aObject)
-    {
-    ((CHtkTripMeterControl*)aObject)->UpdateVisualImage(); // cast, and call non-static function
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::UpdateVisualImage
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::UpdateVisualImage()
-	{
-	if( isSatelliteInfoLaunch )
-		{
-	    if(KNumOfSearchIcon > iDisplayIcon)
-	        {
-	        iDisplayIcon++;
-	        }
-	    else
-	        {
-	        iDisplayIcon = 1;
-	        } 
-	    //iPopImage->SetSize( animationRect.Size() );
-	    iPopImage->SetImage( TAlfImage( *iPopupTextures[iDisplayIcon-1] ) );//N  
-		}
-	}
-	
-// ---------------------------------------------------------
-// CHtkTripMeterControl::DisplayInfoPopUpMsgL
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::DisplayInfoPopUpMsgL()
-	{
-	if( isSatelliteInfoLaunch )
-		{
-		iView.LaunchSatelliteInfoDlgL();
-		}
-	else
-		{
-		LaunchInfoQueryDlgL();	
-		}						
-	}
-	
-// ---------------------------------------------------------
-// CHtkTripMeterControl::LaunchDeviceNotAvlNoteL
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::LaunchDeviceNotAvlNoteL( )
-    {
-	TInt typefaceStyleId = iEnv.TextStyleManager().CreatePlatformTextStyleL(EAknHighestLogicalFont, EAlfTextStyleNormal); 
-    CAlfTextStyle* style1 = iEnv.TextStyleManager().TextStyle( typefaceStyleId );
-
-    iPopUpLayout = CAlfAnchorLayout::AddNewL( *this );
-    
-    iPopupDeck = CAlfDeckLayout::AddNewL( *this, iPopUpLayout );
-    
-    iPopUpLayout->SetAnchor(EAlfAnchorTopLeft, 0, 
-        EAlfAnchorOriginHCenter, EAlfAnchorOriginTop,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( -0.05, 0.05));
-    iPopUpLayout->SetAnchor(EAlfAnchorBottomRight, 0, 
-        EAlfAnchorOriginHCenter, EAlfAnchorOriginTop,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( 0.4, 0.38));
-
-	iPopupDeck->EnableBrushesL();
-
-    TAlfXYMetric edgeoffset(TAlfMetric( 0.01, EAlfUnitNormalized ));
-    iFrameBrush = CAlfFrameBrush::NewL(iEnv, KAknsIIDQsnFrPopup, edgeoffset);
-    iFrameBrush->SetFrameRectsL(TRect(12,12,167,167), TRect(11,11,170,170));
-    iFrameBrush->SetEdgeOffset(edgeoffset);
-    iPopupDeck->Brushes()->AppendL( iFrameBrush, EAlfHasOwnership );
-	
-    iPopUpAnchor = CAlfAnchorLayout::AddNewL( *this, iPopupDeck );
-    
-	iPopUpAnchor->EnableBrushesL();
-    
-    iPopUpMsg = CAlfTextVisual::AddNewL( *this, iPopUpAnchor );
-    iPopImage = CAlfImageVisual::AddNewL( *this, iPopUpAnchor );
-    style1->SetTextSizeInPixels(20, ETrue );
-    style1->SetBold( EFalse );
-    
-	TRgb rgb;
-	AknsUtils::GetCachedColor ( AknsUtils::SkinInstance(),
-								rgb,
-								KAknsIIDQsnTextColors,
-								EAknsCIQsnTextColorsCG1 
-							   );
-	
-	iPopUpMsg->SetColor( rgb );
-	iPopUpMsg->SetTextL( KText1 );
-	iPopUpMsg->SetTextStyle( style1->Id() );
-	iPopUpMsg->SetPadding(TAlfBoxMetric(TAlfMetric(.1, EAlfUnitNormalized)));
-	iPopUpMsg->SetWrapping( CAlfTextVisual::ELineWrapBreak );
-	iPopUpMsg->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter );
-	
-    iPopUpAnchor->SetAnchor(EAlfAnchorTopLeft, 0, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( 0.02, 0.02));
-    iPopUpAnchor->SetAnchor(EAlfAnchorBottomRight, 0, 
-        EAlfAnchorOriginHCenter, EAlfAnchorOriginTop,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( 0.47, 0.3));
-
-    iPopUpAnchor->SetAnchor(EAlfAnchorTopLeft, 1, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( 0.28, 0.4 ));
-    iPopUpAnchor->SetAnchor(EAlfAnchorBottomRight, 1, 
-        EAlfAnchorOriginHCenter, EAlfAnchorOriginBottom,
-        EAlfAnchorMetricRelativeToSize, EAlfAnchorMetricRelativeToSize,
-        TAlfTimedPoint( 0.22, -0.16 ) );
-
-    iPopUpLayout->SetOpacity( 0.0 );        
-    }
-    
-// ---------------------------------------------------------
-// CHtkTripMeterControl::DisplaySatelliteSignalStrength
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::DisplaySatelliteSignalStrength( TInt aSatCount ) 
-	{
-	TFileName imagepathname;
-	imagepathname.Zero();
-	iImageVisual->SetImage(TAlfImage(*iSignalTextures[aSatCount]));
-	}
-	
-// ---------------------------------------------------------
-// CHtkTripMeterControl::LaunchInfoQueryDlgL
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::LaunchInfoQueryDlgL()
-	{
-    CAknNoteDialog* dlg;
-    dlg = new (ELeave) CAknNoteDialog(CAknNoteDialog::EConfirmationTone,CAknNoteDialog::ENoTimeout);
-    TInt result = dlg->ExecuteLD( R_INFO_POPUP_MSG_QUERY );
-    if( result == EAknSoftkeyExit )
-	    {
-	    iView.ExitMainApplicationL( EEikCmdExit );
-	    }
-	dlg = NULL;	    
-	}
-		
-// ---------------------------------------------------------
-// CHtkTripMeterControl::HasTripStarted
-// ---------------------------------------------------------
-//
-TBool CHtkTripMeterControl::HasTripStarted()
-    {
-    return iLocation->HasTripStarted();
-    }
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::WasGPSDataLost
-// ---------------------------------------------------------
-//
-TBool CHtkTripMeterControl::WasGPSDataLost(void)
-    {
-    return iLocation->WasGPSDataLost();
-    }
-        
-// ---------------------------------------------------------
-// CHtkTripMeterControl::SetGPSDataAvailability
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::SetGPSDataAvailability(TBool aAvailability)
-    {
-    iLocation->SetGPSDataAvailability(aAvailability);
-    }
-
-// ---------------------------------------------------------
-// CHtkTripMeterControl::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CHtkTripMeterControl::ProcessCommandL(TInt aCommand)
-    {
-    ReChangeTripFocus();
-	switch(aCommand)
-		{
-		case EBlidCmdTripStart:
-			{
-			/**
-			 * Start the calculations for the current trip
-			 */
-			iLocation->SetTripStartL();
-			break;
-			}
-        case EBlidCmdTripStop:
-        	{
-        	/**
-			* Stop the calculations for the current trip
-			*/        	
-        	iLocation->SetTripStop();
-        	break;
-			}
-        case EBlidCmdTripResume:
-        	{
-        	/**
-			* Resume the calculations for the current trip after stopping
-			*/			
-			iLocation->SetTripResumeL();
-			break;
-			}
-        case EBlidCmdTripReset:
-        	{
-        	/**
-			* Reset the items only for the current trip
-			*/
-        	iLocation->ResetTrip();
-        	break;
-			}
-        case EBlidCmdTripClear:
-        	{
-         	/**
-			* Reset all the items in the trip when it is stopped
-			*/
-			RotateSpeedDialL( iPrevAngle, 30 );    
-			iLocation->SetTripClear();
-	        break;
-			}
-		default:
-			{
-			break;
-			}
-		}
-		UpdateL();
-    }
-    
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::CreateNaviPaneL
-// ----------------------------------------------------
-//
-void CHtkTripMeterControl::CreateNaviPaneL( TBool aDefaultNaviPane )
-    {    
-    CEikStatusPane* sp = StatusPane();
-    // Fetch pointer to the default navi pane control
-    CAknNavigationControlContainer* naviPane = 
-        static_cast<CAknNavigationControlContainer*>(sp->ControlL( 
-        TUid::Uid(EEikStatusPaneUidNavi)));
- 
-    if( iDecoratedTabGroup )
-	    {
-	    delete iDecoratedTabGroup;
-	    iDecoratedTabGroup = NULL;	
-	    }
-   
-    if ( aDefaultNaviPane ) // dummy tab
-        {        
-        naviPane->PushDefaultL(EFalse);
-        }
-    else
-        {              
-        iDecoratedTabGroup = naviPane->CreateTabGroupL();
-        iDecoratedTabGroup->SetControlType( CAknNavigationDecorator::ETabGroup );
-        CAknTabGroup* tabGroup = 
-        static_cast< CAknTabGroup* > ( iDecoratedTabGroup->DecoratedControl() );        
-        AddTabsL( *tabGroup );        
-        }
-    }
-
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::GetNiviDecorator
-// ----------------------------------------------------
-//
-CAknNavigationDecorator* CHtkTripMeterControl::GetNiviDecorator( )
-	{
-	return iDecoratedTabGroup;	
-	}
-	
-	    
-// ----------------------------------------------------
-// CHtkTripMeterControl::ActivateTabL
-// ----------------------------------------------------
-//
-void CHtkTripMeterControl::ActivateTabL( 
-                         CAknNavigationDecorator& aNaviDecorator,
-                         TInt aTabId )
-    {
-    CEikStatusPane* sp = StatusPane();    
-    CAknNavigationControlContainer* naviPane =
-        static_cast<CAknNavigationControlContainer*>(
-        sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi)));
-    CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>( 
-        aNaviDecorator.DecoratedControl() );
-    tabGroup->SetActiveTabById( aTabId );
-    naviPane->PushL( aNaviDecorator );
-    }
-
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::StatusPane
-// ----------------------------------------------------
-//
-CEikStatusPane* CHtkTripMeterControl::StatusPane()
-    {
-    return CEikonEnv::Static()->AppUiFactory()->StatusPane();
-    }
-
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::MakeTitleL
-// ----------------------------------------------------
-//
-void CHtkTripMeterControl::MakeTitleL( TInt aResourceText )
-    {
-    HBufC* buf = StringLoader::LoadLC(aResourceText);       
-    CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-                            ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    CleanupStack::Pop(); //buf
-    title->SetText(buf); // Takes ownership of buf
-    }
-
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::AddTabsL
-// ----------------------------------------------------
-//
-void CHtkTripMeterControl::AddTabsL(CAknTabGroup& aTabGroup)
-    {
-    aTabGroup.SetTabFixedWidthL(EAknTabWidthWithTwoTabs);
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance(); 
-    HBufC* filename = BlidUtils::GetBitmapFilenameLC();        
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-        
-    //Add tab icon 1
-    AknsUtils::CreateIconLC( skin,
-                            KAknsIIDQgnPropBlidNavigationTab3,
-                            bitmap,
-                            bitmapMask,
-                            *filename,
-                            EMbmBlidQgn_prop_blid_navigation_tab3,
-                            EMbmBlidQgn_prop_blid_navigation_tab3_mask );             
-    aTabGroup.AddTabL( EBlidNavigationView, bitmap, bitmapMask );
-    CleanupStack::Pop(2); //bitmap, bitmapmask
-
-    //Add tab icon 2
-    AknsUtils::CreateIconLC( skin,
-                            KAknsIIDQgnPropBlidTripTab3,
-                            bitmap,
-                            bitmapMask,
-                            *filename,
-                            EMbmBlidQgn_prop_blid_trip_tab3,
-                            EMbmBlidQgn_prop_blid_trip_tab3_mask );             
-    aTabGroup.AddTabL( EBlidTripMeterView, bitmap, bitmapMask );
-    CleanupStack::Pop(2); //bitmap, bitmapmask
-
-    
-    
-    CleanupStack::PopAndDestroy(); //filename
-    }
-
-// ----------------------------------------------------
-// CHtkTripMeterControl::OfferEventL
-// ----------------------------------------------------
-//
-TBool CHtkTripMeterControl::OfferEventL(const TAlfEvent& aEvent)
-	{
-    if(aEvent.IsKeyEvent() && aEvent.Code() == EEventKey)
-        {
-        CEikStatusPane* sp = StatusPane();
-	    // Fetch pointer to the default navi pane control
-	    CAknNavigationControlContainer* naviPane = 
-	        static_cast<CAknNavigationControlContainer*>(sp->ControlL( 
-	        TUid::Uid(EEikStatusPaneUidNavi)));
-	    CAknNavigationDecorator* naviDecorator = naviPane->Top();
-
-	    // Check if navigation pane controls exists, because decorator does 
-	    // not exist in every cases. E.g. after contact fetch in "new rule" 
-	    // command operation naviDecorator is null. 
-	    if ( naviDecorator && naviDecorator->ControlType() == 
-	        CAknNavigationDecorator::ETabGroup )
-	        {
-	        if ( naviDecorator->DecoratedControl()->OfferKeyEventL( 
-	            aEvent.KeyEvent(), aEvent.Code() ) == EKeyWasConsumed )
-	            {
-	            CAknTabGroup* tabGroup = static_cast< CAknTabGroup* > ( naviDecorator->DecoratedControl() );
-	            TInt tabIndex = tabGroup->ActiveTabIndex();
-				iView.ActivateCorrectViewL( tabIndex );
-	            return ETrue;
-	            }
-	        }    
-		}
-	else if( aEvent.IsPointerEvent() )
-		{
-		if ( aEvent.PointerDown() )
-			{
-			iIsDownPressed = ETrue;
-			return ETrue;
-			}
-		if ( aEvent.PointerUp() && iIsDownPressed )
-			{	
-			if( iLocation->IsGPSDataAvailable() )
-				{
-				iView.LaunchTripContextMenuL();
-				return ETrue;				
-				}
-			else
-				{
-				if( aEvent.Visual() == iPopUpAnchor ||
-					aEvent.Visual() == iPopUpMsg ||
-					aEvent.Visual() == iPopImage )					  
-					{
-					if( isSatelliteInfoLaunch )
-						{
-						iView.LaunchSatelliteInfoDlgL();
-						return ETrue;
-						}
-					else
-						{
-						LaunchInfoQueryDlgL();	
-						return ETrue;						
-						}						
-					}
-				}
-			return EFalse;
-			}
-		}
-	return EFalse;
-	}
-	
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::RotateSpeedDialL()
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::RotateSpeedDialL( int aThetaPrevious, int aThetaFinal )
-    {
-	iTripDialVisual->EnableTransformationL(ETrue);
-	CAlfTransformation& aXf = iTripDialVisual->Transformation();
-	aXf.LoadIdentity();
-	TAlfTimedValue angle;
-	angle.SetValueNow( aThetaPrevious );
-	angle.SetTarget( aThetaFinal, 8000 );
-	aXf.Rotate(angle); 
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SetTRipMeterValueL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SetTRipMeterValueL( )
-    {
-	// set the tripmeter distance
-	TBuf<128> tripmeterString;	
-	TripmeterFormatL( tripmeterString );
-	iTripMeter->SetTextL( *iTripDistance );
-    }
-    
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SetOdoMeterValueL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SetOdoMeterValueL( )
-    {
-	// set the odometer distance
-	TBuf<128> odometerString;	
-	OdometerFormat( odometerString );
-	iOdoMeter->SetTextL( *iOdometerDistance );
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SetTripTimeL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SetTripTimeL( )
-    {
-	// set the odometer distance
-	TBuf<128> odometerString;	
-	TotalTimeFormat( odometerString );
-	iTriptime->SetTextL( odometerString );
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SetTripSpeed
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SetTripSpeed( )
-    {
-    // Nothing to do now
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::FormatOdometerDistance
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::FormatOdometerDistance( TReal aLastodometerValue )    
-	{
-    TInt result(0);        
-    if ( BlidUtils::TRealToTInt(aLastodometerValue, result) != KErrNone )
-        {
-        iOdometerDistance->Des().Copy( *iDataBlank );
-        return;
-        }
-    aLastodometerValue = result;        
-    TReal temp;
-                    
-    // metric or imperial
-    if ( iSettingsModel->UnitOfMeasurement() == EUnitsMetric )
-        {
-
-        if ( aLastodometerValue >= KKilometerToMeters )
-            {
-            TReal distanceInKm = aLastodometerValue / KKilometerToMeters;
-            Math::Round(temp, distanceInKm, 1);
-            distanceInKm = temp;
-            TBuf<KBlidLBItemMaxLen> temp;        
-            temp.Format( KDistanceFormat, Abs(distanceInKm) );
-            iOdometerDistance->Des().Copy( temp );
-            }
-    	else
-        	{
-            if ( BlidUtils::TRealToTInt(aLastodometerValue, result) != KErrNone )
-            	{
-                iOdometerDistance->Des().Copy( *iDataBlank );
-            	}
-            else
-            	{
-            	Math::Mod(temp, result, 10);        	
-		        if( temp >= 5 )
-		        	{
-		            result += (10 - temp);
-		            }
-		        else
-		        	{
-		            result -= temp; 
-		        	}
-		        	
-		        if ( result >= KKilometerToMeters )
-	            	{
-	            	aLastodometerValue = result;
-	            	TReal distanceInKm = aLastodometerValue / KKilometerToMeters;
-	                Math::Round(temp, distanceInKm, 1);
-	                distanceInKm = temp;
-	                TBuf<KBlidLBItemMaxLen> temp;        
-	                temp.Format( KDistanceFormat, Abs(distanceInKm) );
-	                iOdometerDistance->Des().Copy( temp );
-	            	}
-	            else
-	            	{
-	            	iOdometerDistance->Des().Zero();
-	                iOdometerDistance->Des().AppendNum( result );
-	            	}				
-            	}
-        	}
-        }
-    else
-    	{
-    	TReal32 distanceImperial = aLastodometerValue*KMetreToFoot;
-            
-    	if ( distanceImperial >= KMileToFeets ) 
-        	{
-        	distanceImperial /= KMileToFeets;
-        	Math::Round(temp, distanceImperial, 1);
-        	distanceImperial = temp;
-        	TBuf<KBlidLBItemMaxLen> tempstring;
-            tempstring.Format( KDistanceFormat, Abs(distanceImperial) );
-            iOdometerDistance->Des().Copy( tempstring );
-        	}
-    	else
-    		{                
-            if ( BlidUtils::TRealToTInt(
-                     distanceImperial, result) != KErrNone )
-            	{
-                iOdometerDistance->Des().Copy( *iDataBlank );
-                }
-            else
-            	{
-            	Math::Mod(temp, result, 10);        	
-	            if( temp >= 5 )
-	                {
-	                result += (10 - temp);
-	                }
-	            else
-	                {
-	                result -= temp; 
-	                }
-	                
-	            if ( result >= KMileToFeets )
-	            	{
-	            	distanceImperial = result;
-	            	distanceImperial /= KMileToFeets;
-	            	Math::Round(temp, distanceImperial, 1);
-	            	distanceImperial = temp;
-	            	TBuf<KBlidLBItemMaxLen> temp;
-	                temp.Format( KDistanceFormat, Abs(distanceImperial) );
-	                iOdometerDistance->Des().Copy( temp );
-	            	}
-	            else
-	            	{
-	            	iOdometerDistance->Des().Zero();
-	                iOdometerDistance->Des().AppendNum( result );
-	            	}                	
-                }
-            }
-    	}
-        		
-	}
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::OdometerFormat
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::OdometerFormat( TDes& aOdometerString )
-    {
-    aOdometerString.Zero();
-   
-    if ( iLocation->IsTotalDistanceTravelled() &&
-    	 iLocation->IsGPSDataAvailable() )
-        {
-        TReal32 totalDistance;
-        iLocation->GetTotalDistance( totalDistance );
-        totalDistance = totalDistance + iLastodometerValue;
-        iOdoValueToStore = totalDistance;
-        TInt result(0);        
-        if ( BlidUtils::TRealToTInt(totalDistance, result) != KErrNone )
-            {
-            aOdometerString = *iDataBlank;
-            iOdometerDistance->Des().Copy( aOdometerString );
-            return;
-            }
-        totalDistance = result;        
-        TReal temp;
-                        
-        // metric or imperial
-        if ( iSettingsModel->UnitOfMeasurement() == EUnitsMetric )
-            {
- 
-            if ( totalDistance >= KKilometerToMeters )
-                {
-                TReal distanceInKm = totalDistance / KKilometerToMeters;
-                Math::Round(temp, distanceInKm, 1);
-                distanceInKm = temp;
-                TBuf<KBlidLBItemMaxLen> temp;        
-                temp.Format( KDistanceFormat, Abs(distanceInKm) );
-                iOdometerDistance->Des().Copy( temp );
-                }
-        	else
-            	{
-                if ( BlidUtils::TRealToTInt(totalDistance, result) != KErrNone )
-                	{
-                    aOdometerString = *iDataBlank;
-                    iOdometerDistance->Des().Copy( aOdometerString );
-                	}
-                else
-                	{
-                	Math::Mod(temp, result, 10);        	
-			        if( temp >= 5 )
-			        	{
-			            result += (10 - temp);
-			            }
-			        else
-			        	{
-			            result -= temp; 
-			        	}
-			        	
-			        if ( result >= KKilometerToMeters )
-		            	{
-		            	totalDistance = result;
-		            	TReal distanceInKm = totalDistance / KKilometerToMeters;
-		                Math::Round(temp, distanceInKm, 1);
-		                distanceInKm = temp;
-		                TBuf<KBlidLBItemMaxLen> temp;        
-		                temp.Format( KDistanceFormat, Abs(distanceInKm) );
-		                iOdometerDistance->Des().Copy( temp );
-		            	}
-		            else
-		            	{
-		            	iOdometerDistance->Des().Zero();
-		                iOdometerDistance->Des().AppendNum( result );
-		            	}				
-                	}
-            	}
-            }
-        else
-        	{
-        	TReal32 distanceImperial = totalDistance*KMetreToFoot;
-                
-        	if ( distanceImperial >= KMileToFeets ) 
-            	{
-            	distanceImperial /= KMileToFeets;
-            	Math::Round(temp, distanceImperial, 1);
-            	distanceImperial = temp;
-            	TBuf<KBlidLBItemMaxLen> tempstring;
-                tempstring.Format( KDistanceFormat, Abs(distanceImperial) );
-                iOdometerDistance->Des().Copy( tempstring );
-            	}
-        	else
-        		{                
-                if ( BlidUtils::TRealToTInt(
-                         distanceImperial, result) != KErrNone )
-                	{
-                    aOdometerString = *iDataBlank;
-                    iOdometerDistance->Des().Copy( aOdometerString );
-                    }
-                else
-                	{
-                	Math::Mod(temp, result, 10);        	
-		            if( temp >= 5 )
-		                {
-		                result += (10 - temp);
-		                }
-		            else
-		                {
-		                result -= temp; 
-		                }
-		                
-		            if ( result >= KMileToFeets )
-		            	{
-		            	distanceImperial = result;
-		            	distanceImperial /= KMileToFeets;
-		            	Math::Round(temp, distanceImperial, 1);
-		            	distanceImperial = temp;
-		            	TBuf<KBlidLBItemMaxLen> temp;
-		                temp.Format( KDistanceFormat, Abs(distanceImperial) );
-		                iOdometerDistance->Des().Copy( temp );
-		            	}
-		            else
-		            	{
-		            	iOdometerDistance->Des().Zero();
-		                iOdometerDistance->Des().AppendNum( result );
-		            	}                	
-                    }
-                }
-        	}
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::TotalTimeFormat
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::TotalTimeFormat( TDes& aTotalTimeString )
-    {
-    TInt error(0);
-    TTimeIntervalSeconds timeInterval;
-    TTime totaltime;
-    iLocation->GetTotalTime(timeInterval);
-    TBuf<KBlidLBItemMaxLen> totaltimeString;
-    if ( BlidUtils::FormatTimeToString( totaltimeString, (TReal)(timeInterval.Int()))
-         != KErrNone )
-        {
-        return;
-        }
-    totaltime.Set( totaltimeString );
-    TRAP( error, totaltime.FormatL( 
-          aTotalTimeString , *iDurationFormatLong ));
-          
-    if(error!=KErrNone)
-	    {
-	    CEikonEnv::Static()->HandleError( error );
-	    aTotalTimeString .Zero();
-	    }
-    }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::TripmeterFormatL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::TripmeterFormatL( TDes& aTripmeterString )
-    {
-    aTripmeterString.Zero();
-    TInt result(0);
-    TReal temp;    
-  
-	if ( iLocation->IsTripDistanceTravelled()  &&
-    	 iLocation->IsGPSDataAvailable() )
-	    {
-	    TReal32 distanceTravelled;
-	    iLocation->GetTripDistance(distanceTravelled);        
-	    // metric or imperial
-	    if ( iSettingsModel->UnitOfMeasurement() == EUnitsMetric )
-	        {
-	        iSpeedFormatVisual->SetTextL( *iSpeedFormatKmph );
-	        if ( BlidUtils::TRealToTInt(distanceTravelled, result) != KErrNone )
-	        	{
-	            aTripmeterString = *iDataBlank;
-	            iTripDistance->Des().Copy( aTripmeterString );
-	            }
-	        else
-	        	{            	
-	        	distanceTravelled = result;
-	                
-	            if ( distanceTravelled >= KKilometerToMeters )
-	            	{
-	            	TReal distanceInKm = distanceTravelled / KKilometerToMeters;
-	            	Math::Round(temp, distanceInKm, 1);
-	            	distanceInKm = temp;
-	                TBuf<KBlidLBItemMaxLen> tempstring;        
-	                tempstring.Format( KDistanceFormat, Abs(distanceInKm) );
-	            	iTripDistance->Des().Copy( tempstring );
-	               	}
-	            else
-	            	{	            	
-	            	Math::Mod(temp, distanceTravelled, 10);        	
-			        if( temp >= 5 )
-			        	{
-			            distanceTravelled += (10 - temp);
-			            }
-			        else
-			        	{
-			            distanceTravelled -= temp; 
-			        	}
-			        
-			        if(distanceTravelled >= KKilometerToMeters )
-			        	{
-			        	TReal distanceInKm = distanceTravelled / KKilometerToMeters;
-		            	Math::Round(temp, distanceInKm, 1);
-	                	distanceInKm = temp;
-		                TBuf<KBlidLBItemMaxLen> tempstring;   
-		                tempstring.Format( KDistanceFormat, Abs(distanceInKm) );
-		                iTripDistance->Des().Copy( tempstring );
-			        	}
-			        else
-			        	{
-		                iTripDistance->Des().Zero();
-		                iTripDistance->Des().AppendNum( distanceTravelled );
-			        	}
-	            	}
-	            }
-	        }
-	    else
-	    	{
-	    	iSpeedFormatVisual->SetTextL( *iSpeedFormatMph );
-	        TReal32 distanceImperial = distanceTravelled*KMetreToFoot; 
-	        
-	        if ( distanceImperial >= KMileToFeets ) 
-	        	{
-	        	distanceImperial /= KMileToFeets;
-	        	Math::Round(temp, distanceImperial, 1);
-	        	distanceImperial = temp;
-	        	TBuf<KBlidLBItemMaxLen> temp;
-	            temp.Format( KDistanceFormat, Abs(distanceImperial) );
-                iTripDistance->Des().Copy( temp );
-	        	}
-	        else
-	        	{
-	        	if ( BlidUtils::TRealToTInt(
-	                 distanceImperial, result) != KErrNone )
-	            	{
-	                aTripmeterString = *iDataBlank;
-	                iTripDistance->Des().Copy( aTripmeterString );
-	                }
-	            else
-	            	{
-	            	Math::Mod(temp, distanceImperial, 10);        	
-		            if( temp >= 5 )
-		                {
-		                distanceImperial += (10 - temp);
-		                }
-		            else
-		                {
-		                distanceImperial -= temp; 
-		                }
-		                
-		            if ( distanceImperial >= KMileToFeets )
-		            	{
-		            	distanceImperial /= KMileToFeets;
-		            	Math::Round(temp, distanceImperial, 1);
-		            	distanceImperial = temp;
-		            	TBuf<KBlidLBItemMaxLen> temp;
-		                temp.Format( KDistanceFormat, Abs(distanceImperial) );
-		                iTripDistance->Des().Copy( temp );
-		            	}
-		            else
-		            	{
-		                iTripDistance->Des().Zero();
-		                iTripDistance->Des().AppendNum( distanceImperial );
-		            	}
-	                }
-	        	}            
-	        }
-   		}    
-   }
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SaveOdometerValue
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SaveOdometerValue( )
-	{
-	if( iRepository )
-		{
-	    iRepository->Set(KBlidOdometerSettingsValue, iOdoValueToStore);		
-		}
-	}
-	
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::ResetOdometerDistanceL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::ResetOdometerDistanceL( )
-	{
-	if( iOdometerDistance )
-		{
-		iOdometerDistance->Des().Zero();
-		iOdometerDistance->Des().AppendNum( 0 );
-		iOdoMeter->SetTextL( *iOdometerDistance );			
-		}
-	iLocation->ResetOdometerValue();		
-	iOdoValueToStore = 0.0;
-	iLastodometerValue = 0.0;	
-	}
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SaveOdometerValue
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::ChangeTripFocus( TBool aSTripDimmed )
-	{
-	iSTripDimmed = aSTripDimmed;
-	if( iTripLayout )
-		{
-		TAlfTimedValue opecity;
-		opecity.SetTarget( 0.3, 0 );
-		iTripLayout->SetOpacity( opecity );				
-		}
-	}
-	
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SaveOdometerValue
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::ReChangeTripFocus( )
-	{
-	iSTripDimmed = EFalse;
-	if( iTripLayout )
-		{
-		TAlfTimedValue opecity;
-		opecity.SetTarget( 1.0, 0 );
-		iTripLayout->SetOpacity( opecity );				
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::UpdateLayoutL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::UpdateLayoutL( )
-	{
-	// Call all the root label setanchor and adjust the new LAyout rectangle.
-	CalculateRects();	
-	SetAnchors();
-	}
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::UpdateLayoutL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::CalculateRects( )
-	{
-	TAknLayoutRect mainPane;
-	TAknLayoutRect mainBlid2Pane;
-	TAknLayoutRect layoutWindow;
-	TAknLayoutText textLayout;
-	TRect mainRect;
-	TRect mainBlidRect;
-	TRect tripMeterRect;
-	TRect valueRect;
-	TInt variety;
-	TInt mainvariety;
-
-	if( Layout_Meta_Data::IsLandscapeOrientation() )
-	    {
-	    variety = 1;
-	    mainvariety = 4;
-	    }
-	 else
-	 	{
-	 	variety = 0;
-	    mainvariety = 0;
-	 	}
-	// 	
-    mainPane.LayoutRect( iView.ApplicationRect(),
-    							AknLayoutScalable_Apps::main_pane(mainvariety).LayoutLine() );
-    							
-	mainRect = mainPane.Rect(); 
-	
-    mainBlid2Pane.LayoutRect( mainRect,
-    							AknLayoutScalable_Apps::main_blid2_pane().LayoutLine() );
-    							
-	mainBlidRect = mainBlid2Pane.Rect(); 							
-    																				   
-    layoutWindow.LayoutRect( mainBlidRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane( 0 ).LayoutLine() );
-    							
-	tripMeterRect =  layoutWindow.Rect();   							
-	// Since the Hitchcock does draw at main pane, we take the reference to
-	// Tripmeter(main) pane's.
-	tripMeterRect.Move(tripMeterRect.iTl.iX,-tripMeterRect.iTl.iY);  							
-	 	
-	// Bg rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g1( variety ).LayoutLine() );
-    							
-	iBigTripRect =  layoutWindow.Rect();
-	
-	// Trip dial rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g2( variety ).LayoutLine() );
-    							
-	iTripDialRect =  layoutWindow.Rect();
-
-	// Since the LAF Rect for Dial is 90 degree wrt image, we calculate the rect for 90 degree rotation
-	TAlfRealPoint topPoint = iTripDialRect.iTl;
-	TAlfRealPoint bottomPoint = iTripDialRect.iBr;
-	TReal32 topX 		= topPoint.iX;
-	TReal32 topY  		= topPoint.iY;
-	TReal32 bottomX 	= bottomPoint.iX;
-	TReal32 bottomY  	= bottomPoint.iY;
-	TReal32 wt			= bottomX - topX;
-	TReal32 ht			= bottomY - topY;	
-
-	TReal32 tX 		= topX+(wt/2)-(ht/2);
-	TReal32 tY  	= topY+(ht/2)-(wt/2);
-	TReal32 bX		= topX+(wt/2)+(ht/2);
-	TReal32 bY		= topY+(ht/2)+(wt/2);
-
-	iTripDialRect.SetRect( tX, tY, bX, bY );
-	
-	// Trip deck image rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g3( variety ).LayoutLine() );
-    							
-	iTripDeckRect =  layoutWindow.Rect();
-
-	// Odo meter image rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g4( variety ).LayoutLine() );
-    							
-	iOdoDeckRect =  layoutWindow.Rect();
-
-	// Trip meter text rect
-    textLayout.LayoutText( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_t1( variety ).LayoutLine() );
-    							
-	iTripMeterRect =  textLayout.TextRect();
-	
-	// Odo meter text rect
-    textLayout.LayoutText( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_t2( variety ).LayoutLine() );
-    							
-	iOdoMeterRect =  textLayout.TextRect();
-	
-	// Time text rect
-    textLayout.LayoutText( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_t3( variety ).LayoutLine() );
-    							
-	iTripTimeRect =  textLayout.TextRect();
-	
-	// Speed Format text rect
-    textLayout.LayoutText( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_t3( variety ).LayoutLine() );
-    							
-	iSpeedFormatRect =  textLayout.TextRect();
-	// since we donot have the LAF for Speed Format, we calculate it based on Dial Layout
-	iSpeedFormatRect.SetRect( topX, topY+ht/4, bottomX, topY+ht/3 );
-
-	// Clock image rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g5( variety ).LayoutLine() );
-    							
-	iClockImageRect =  layoutWindow.Rect();
-
-	// Speeds Value rect
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane( variety ).LayoutLine() );
-    							
-	valueRect =  layoutWindow.Rect();
-	
-	// Speed Value 1 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t1( 0 ).LayoutLine() );
-    							
-	iValueRect1 =  textLayout.TextRect();
-	
-	// Speed Value 2 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t2( 0 ).LayoutLine() );
-    							
-	iValueRect2 =  textLayout.TextRect();
-	
-	// Speed Value 3 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t3( 0 ).LayoutLine() );
-    							
-	iValueRect3 =  textLayout.TextRect();
-	
-	// Speed Value 4 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t4( 0 ).LayoutLine() );
-    							
-	iValueRect4 =  textLayout.TextRect();
-	
-	// Speed Value 5 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t5( 0 ).LayoutLine() );
-    							
-	iValueRect5 =  textLayout.TextRect();
-	
-	// Speed Value 6 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t6( 0 ).LayoutLine() );
-    							
-	iValueRect6 =  textLayout.TextRect();
-	
-	// Speed Value 7 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t7( 0 ).LayoutLine() );
-    							
-	iValueRect7 =  textLayout.TextRect();
-	
-	// Speed Value 8 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t8( 0 ).LayoutLine() );
-    							
-	iValueRect8 =  textLayout.TextRect();
-	
-	// Speed Value 9 rect
-    textLayout.LayoutText( valueRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_values_pane_t9( 0 ).LayoutLine() );
-    							
-	iValueRect9 =  textLayout.TextRect();
-	
-	// Signal Strength
-    layoutWindow.LayoutRect( tripMeterRect, 
-    							AknLayoutScalable_Apps::blid2_tripm_pane_g6( variety ).LayoutLine() );
-    							
-	iSignalStrengthRect =  layoutWindow.Rect();
-	
-	
-	}
-
-
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::SetAnchors
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::SetAnchors( )
-	{	
-	// Anchor for Big trip visual
-	TAlfRealPoint topPoint( iBigTripRect.iTl );
-	TAlfRealPoint bottomPoint( iBigTripRect.iBr );
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 0, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 0, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-	       
-	// Anchor for trip box image visual
-	topPoint =  iTripDeckRect.iTl;
-	bottomPoint = iTripDeckRect.iBr;
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 1, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 1, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for tripmeter text visual
-	topPoint =  iTripMeterRect.iTl;
-	bottomPoint = iTripMeterRect.iBr;
-    
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 2, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 2, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for odometer box image visual
-	topPoint =  iOdoDeckRect.iTl;
-	bottomPoint = iOdoDeckRect.iBr;
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 3, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 3, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for odometer text visual
-	topPoint =  iOdoMeterRect.iTl;
-	bottomPoint = iOdoMeterRect.iBr;
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 4, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 4, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Speed Format visual
-	topPoint =  iSpeedFormatRect.iTl;
-	bottomPoint = iSpeedFormatRect.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 5, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 5, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-
-    // Anchor for Speed format
-	topPoint =  iTripDialRect.iTl;
-	bottomPoint = iTripDialRect.iBr;
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 6, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 6, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY ) );
-        
-	// Anchor for clock image visual
-	topPoint =  iClockImageRect.iTl;
-	bottomPoint = iClockImageRect.iBr;
-	
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 7, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 7, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for trip time text visual
-	topPoint =  iTripTimeRect.iTl;
-	bottomPoint = iTripTimeRect.iBr;
-	   
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 8, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 8, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-
-    // Anchors for iMileVisuals (8 to 16)
-        
-	// Anchor for Mile Value 1
-	topPoint =  iValueRect1.iTl;
-	bottomPoint = iValueRect1.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 9, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 9, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 2
-	topPoint =  iValueRect2.iTl;
-	bottomPoint = iValueRect2.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 10, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 10, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 3
-	topPoint =  iValueRect3.iTl;
-	bottomPoint = iValueRect3.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 11, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 11, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 4
-	topPoint =  iValueRect4.iTl;
-	bottomPoint = iValueRect4.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 12, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 12, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 5
-	topPoint =  iValueRect5.iTl;
-	bottomPoint = iValueRect5.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 13, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 13, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 6
-	topPoint =  iValueRect6.iTl;
-	bottomPoint = iValueRect6.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 14, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 14, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 7
-	topPoint =  iValueRect7.iTl;
-	bottomPoint = iValueRect7.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 15, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 15, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 8
-	topPoint =  iValueRect8.iTl;
-	bottomPoint = iValueRect8.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 16, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 16, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-        
-	// Anchor for Mile Value 9
-	topPoint =  iValueRect9.iTl;
-	bottomPoint = iValueRect9.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 17, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 17, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-    
-    // Anchor for Satellite Status image visual   (18) 
-	topPoint =  iSignalStrengthRect.iTl;
-	bottomPoint = iSignalStrengthRect.iBr;
-
-    iTripLayout->SetAnchor( EAlfAnchorTopLeft, 18,   
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,  
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( topPoint.iX, topPoint.iY  ) );
-    iTripLayout->SetAnchor( EAlfAnchorBottomRight, 18, 
-        EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
-        EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
-        TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY  ) );
-
-	}
-	
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::CreateSignalTexturesL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::CreateSignalTexturesL( )
-	{
-	MAlfBitmapProvider* provider = NULL;	
-	
-    // then create the bitmap provider
-    iView.ImageLoaderUtils()->SetSize( iSignalStrengthRect.Size() ); 
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSatSignal01, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_sat_signal_01, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_sat_signal_01_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture1 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault );
-	iSignalTextures.Append( &thumbTexture1 );// At 0
-	
-
-    // then create the bitmap provider
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSatSignal02, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_sat_signal_02, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_sat_signal_02_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture2 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault ); 	
-
-	iSignalTextures.Append( &thumbTexture2 );// At 1			                                                                  
-    // then create the bitmap provider
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSatSignal03, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_sat_signal_03, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_sat_signal_03_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture3 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault );
-
-	iSignalTextures.Append( &thumbTexture3 );// At 2  
-	
-    // then create the bitmap provider
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSatSignal04, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_sat_signal_04, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_sat_signal_04_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture4 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault );
-
-	iSignalTextures.Append( &thumbTexture4 );// At 3  
-	
-    // then create the bitmap provider
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSatSignal05, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 			iView.ImagePathName(),        // mif file name with path.
-    												 			EMbmBlidQgn_graf_blid_sat_signal_05, // bitmap id defiened in mbg file
-    												 			EMbmBlidQgn_graf_blid_sat_signal_05_mask ); // bitmap mask id defiened in mbg file
-    												 
-	    												 
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture5 = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-                                                                provider,
-                                                                EAlfTextureFlagDefault );
-
-	iSignalTextures.Append( &thumbTexture5 );// At 4
-	}
-	
-// ----------------------------------------------------------------------------
-// CHtkTripMeterControl::CreatePopupImgTextureL
-// ----------------------------------------------------------------------------
-//
-void CHtkTripMeterControl::CreatePopupImgTextureL( )
-	{
-	MAlfBitmapProvider* provider = NULL;			
-    provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidUnavail, // svg icon skin constant id defiened in Aknsconstant.h file
-    												 iView.ImagePathName(),        // mif file name with path.
-    												 EMbmBlidQgn_graf_blid_unavail, // bitmap id defiened in mbg file
-    												 EMbmBlidQgn_graf_blid_unavail_mask ); // bitmap mask id defiened in mbg file
-	
-	// now using that bitmap provider create the texture.
-	CAlfTexture & thumbTexture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId,
-	                                                                provider,
-	                                                                EAlfTextureFlagDefault ); 
-		                                                                
-	iPopupImgTexture = &thumbTexture;
-	}	
-		
-//End Of File
-