diff -r 8173571d354e -r 1fc85118c3ae basiclocationinfodisplay/blid/ui/src/CHtkTripMeterControl.cpp --- 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// 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(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( - sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi))); - CAknTabGroup* tabGroup = static_cast( - 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( 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(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 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 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 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 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 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 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 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 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 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 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 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 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 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 -