--- a/basiclocationinfodisplay/blid/ui/src/CHtkTripMeterControl.cpp Tue Feb 02 00:16:03 2010 +0200
+++ /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
-