diff -r 1fc85118c3ae -r 870918037e16 basiclocationinfodisplay/blid/ui/src/CBlidSatelliteControl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/basiclocationinfodisplay/blid/ui/src/CBlidSatelliteControl.cpp Wed Sep 01 12:31:27 2010 +0100 @@ -0,0 +1,727 @@ +/* +* 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: Provides blid startup view class methods. +* +*/ + + + +// 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 + +// USER INCLUDES +#include "CBlidSatelliteControl.h" +#include "CBlidEng.h" +#include "CBlidDocument.h" +#include "MBlidLocation.h" +#include "CBlidBaseView.h" +#include "bliduiconsts.h" +#include "Debug.h" + +TInt TimerCallBack(TAny* aPtr); + +// ================= MEMBER FUNCTIONS ======================= +// --------------------------------------------------------- +// CBlidSatelliteControl::NewL() +// --------------------------------------------------------- +// +CBlidSatelliteControl* CBlidSatelliteControl::NewL( CAlfEnv& aEnv, + const TRect& aRect, + CBlidBaseView& aView) + { + CBlidSatelliteControl* self = new (ELeave) CBlidSatelliteControl(aEnv, + aView ); + CleanupStack::PushL(self); + self->ConstructL( aRect ); + CleanupStack::Pop(self); + return self; + } + + +// --------------------------------------------------------- +// + //CBlidSatelliteControl::CBlidSatelliteControl() +// --------------------------------------------------------- +// +CBlidSatelliteControl::CBlidSatelliteControl(CAlfEnv& aEnv, + CBlidBaseView& aView ) + : CAlfControl( ),iEnv(aEnv),iView(aView) + { + iOnlineMode = EFalse; + } + + +// --------------------------------------------------------- +// CBlidSatelliteControl::ConstructL() +// --------------------------------------------------------- +// +void CBlidSatelliteControl::ConstructL( const TRect& /*aRect*/ ) + { + CAlfControl::ConstructL( iEnv ); + + CBlidEng* engine = iView.BlidDocument()->Engine(); + iLocation = engine->LocationModel(); + + iImagePath = HBufC::NewL( iEnv.TextureManager().ImagePath().Length() + 1 ); + iImagePath->Des().Copy( iEnv.TextureManager().ImagePath() ); + + iAvailableNoteText = StringLoader::LoadL( R_BLID_NOTE_GPS_POSITIONING_AVAILABLE, CEikonEnv::Static() ); + iSearchNoteText = StringLoader::LoadL( R_BLID_WAITNOTE_SEARCHING_GPS_SATELLITES, CEikonEnv::Static() ); + + iMainAnchorLayout = CAlfAnchorLayout::AddNewL( *this ); + + iGlobeDeckLayout = CAlfDeckLayout::AddNewL( *this, iMainAnchorLayout ); + iAnimationVisual = CAlfImageVisual::AddNewL(*this, iGlobeDeckLayout ); + + iDisplayIcon = 1; + iPeriodic = CPeriodic::NewL(0); // neutral priority + iPeriodic->Start( TTimeIntervalMicroSeconds32( 200000 ), + TTimeIntervalMicroSeconds32( 200000 ), + TCallBack(Tick, this)); + + CalculateRects(); + SetAnchors(); + CreateGlobeVisualL(); + UpdateGlobeVisual(); + CreateSatelliteSignalVisualsL(); + + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::~CBlidSatelliteControl +// Destructor +// Frees reserved resources +// ---------------------------------------------------- +// +CBlidSatelliteControl::~CBlidSatelliteControl() + { + iTextures.Reset(); + iTextures.Close(); + delete iNavimessage; + delete iImagePath; + delete iSearchNoteText; + delete iAvailableNoteText; + iSignalBarRects.Reset(); + iSignalBarRects.Close(); + iSatelliteNumberRects.Reset(); + iSatelliteNumberRects.Close(); + delete iPeriodic; + delete iTimer; + } + + // --------------------------------------------------------- +// CBlidSatelliteControl::Tick() +// --------------------------------------------------------- +// +TInt CBlidSatelliteControl::Tick(TAny* aObject) + { + ((CBlidSatelliteControl*)aObject)->UpdateGlobeVisual(); // cast, and call non-static function + + return KErrNone; + } + + +// --------------------------------------------------------- +// CBlidSatelliteControl::UpdateL +// --------------------------------------------------------- +// +void CBlidSatelliteControl::UpdateL() + { + TInt satInView = iLocation->NumberOfSatellitesVisible(); + TInt satId = 0; + DEBUG1(" CBlidSatelliteControl::UpdateL iErrorCode ::%d", iErrorCode ); + if( iOnlineMode ) + { + CreateNaviPaneL( *iAvailableNoteText ); + // code for GPS fix received view + for( TInt i = 0; i < satInView; i++ ) + { + satId = iLocation->GetSatelliteNo( i ); + TBuf<5> satNumber; + satNumber.Format(_L("%d"), satId); + + if( i < 16 ) + { + DisplaySatellitesRowL( satNumber, iSignalStrengthRowOne[i], iSatNoRowOne[i], i ); + // Dimmed those satellites which are not used. + if( !iLocation->IsSatellitesUsed( i ) ) + { + iSignalStrengthRowOne[i]->SetOpacity( 0.3 ); + } + else + { + iSignalStrengthRowOne[i]->SetOpacity( 1.0 ); + } + } + + } + + // Change soft key + iView.CBAPtr()->SetCommandSetL( R_AVKON_SOFTKEYS_EXIT ); + iView.CBAPtr()->DrawDeferred(); + // Start the timer for 2 seconds + if( iTimer ) + { + delete iTimer; + iTimer = NULL; + } + iTimer = CPeriodic::NewL( EPriorityHigh ); + if( iTimer ) + { + TCallBack callback( TimerCallBack, this ); + iTimer->Start( TTimeIntervalMicroSeconds32( 2000000 ), + TTimeIntervalMicroSeconds32( 80000000 ), + callback ); + } + // once timer completed then activate navigation view + } + else if( iLocation->WaitingGPSData() || iErrorCode == KErrTimedOut ) + { + CreateNaviPaneL( *iSearchNoteText ); + // code for searching GPS view + for( TInt i = 0; i < satInView; i++ ) + { + satId = iLocation->GetSatelliteNo( i ); + TBuf<5> satNumber; + satNumber.Format(_L("%d"), satId); + + if( i < 16 ) + { + DisplaySatellitesRowL( satNumber, iSignalStrengthRowOne[i], iSatNoRowOne[i], i ); + } + } + ChangeSoftKeyL(); + } + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::MakeTitleL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::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 + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::StatusPane +// ---------------------------------------------------- +// +CEikStatusPane* CBlidSatelliteControl::StatusPane() + { + return CEikonEnv::Static()->AppUiFactory()->StatusPane(); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::SetErrorCode +// ---------------------------------------------------- +// +void CBlidSatelliteControl::SetErrorCode( TInt aErrorCode ) + { + iErrorCode = aErrorCode; + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::SetOnlineMode +// ---------------------------------------------------- +// +void CBlidSatelliteControl::SetOnlineMode( TBool aOnlineMode ) + { + iOnlineMode = aOnlineMode; + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::CreateNaviPaneL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::CreateNaviPaneL( const TDesC& aText ) + { + CEikStatusPane* sp = CEikonEnv::Static()->AppUiFactory()->StatusPane(); + // Fetch pointer to the default navi pane control + CAknNavigationControlContainer* naviPane = + static_cast(sp->ControlL( + TUid::Uid(EEikStatusPaneUidNavi))); + + naviPane->PushDefaultL(EFalse); + if( iNavimessage ) + { + delete iNavimessage; + iNavimessage = NULL; + } + iNavimessage = naviPane->CreateNavigationLabelL( aText ); + naviPane->PushL( *iNavimessage ); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::CreateGlobeVisualL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::CreateGlobeVisualL( ) + { + // code to load svg icon + MAlfBitmapProvider* provider = NULL; + + // first creste the image loader utils and then call SetSize. + iView.ImageLoaderUtils()->SetSize( iGlobeRect.Size() ); + + // 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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.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 ); + iTextures.Append(&texture8); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::UpdateGlobeVisual +// ---------------------------------------------------- +// +void CBlidSatelliteControl::UpdateGlobeVisual( ) + { + if(KNumOfStartUpIcon > iDisplayIcon) + { + iDisplayIcon++; + } + else + { + iDisplayIcon = 1; + } + //iAnimationVisual->SetSize( animationRect.Size() ); + iAnimationVisual->SetImage( TAlfImage( *iTextures[iDisplayIcon-1] ) );//N + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::CreateSatelliteSignalVisualsL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::CreateSatelliteSignalVisualsL( ) + { + TInt typefaceStyleId = iEnv.TextStyleManager().CreatePlatformTextStyleL(EAknLogicalFontPrimarySmallFont, EAlfTextStyleSmall); + CAlfTextStyle* style1 = iEnv.TextStyleManager().TextStyle( typefaceStyleId ); + style1->SetBold( ETrue ); + // Set the text font size in pixel + style1->SetTextPaneHeightInPixels( 26, ETrue ); + + TRgb rgb; + AknsUtils::GetCachedColor ( AknsUtils::SkinInstance(), + rgb, + KAknsIIDQsnTextColors, + EAknsCIQsnTextColorsCG1 + ); + + CreateSignalLayoutL( style1, rgb ); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::CreateSignalLayoutL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::CreateSignalLayoutL( CAlfTextStyle* aStyle, TRgb aRgb ) + { + for( TInt i = 0; i < 16; i++ ) + { + iSignalStrengthRowOne[i] = CAlfImageVisual::AddNewL( *this, iMainAnchorLayout ); + + iSatNoRowOne[i] = CAlfTextVisual::AddNewL( *this, iMainAnchorLayout ); + iSatNoRowOne[i]->SetColor( aRgb ); + iSatNoRowOne[i]->SetTextStyle( aStyle->Id() ); + iSatNoRowOne[i]->SetAlign( EAlfAlignHCenter, EAlfAlignVCenter ); + } + } + +// --------------------------------------------------------- +// CBlidSatelliteControl::DisplaySatellitesRowL +// --------------------------------------------------------- +// +void CBlidSatelliteControl::DisplaySatellitesRowL( const TDesC& aSatNo, + CAlfImageVisual* aImageVisual, + CAlfTextVisual* aTextVisual, + TInt aIndex ) + { + // code to load svg icon + MAlfBitmapProvider* provider = NULL; + // first creste the image loader utils and then call SetSize. + iView.ImageLoaderUtils()->SetSize( iSignalBarRects[0].Size() ); + + aTextVisual->SetTextL( aSatNo ); + + switch( iLocation->GetSatelliteSignalStrength( aIndex ) ) + { + case EBlidSignalStrengthZero: + { + + // then create the bitmap provider + provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSignalBar01, // svg icon skin constant id defiened in Aknsconstant.h file + iView.ImagePathName(), // mif file name with path. + EMbmBlidQgn_graf_blid_signal_bar_01, // bitmap id defiened in mbg file + EMbmBlidQgn_graf_blid_signal_bar_01_mask ); // bitmap mask id defiened in mbg file + + + // now using that bitmap provider create the texture. + CAlfTexture & texture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId, provider, EAlfTextureFlagDefault ); + + aImageVisual->SetImage(TAlfImage(texture)); + break; + } + case EBlidSignalStrengthOne: + { + provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSignalBar02, // svg icon skin constant id defiened in Aknsconstant.h file + iView.ImagePathName(), // mif file name with path. + EMbmBlidQgn_graf_blid_signal_bar_02, // bitmap id defiened in mbg file + EMbmBlidQgn_graf_blid_signal_bar_02_mask ); // bitmap mask id defiened in mbg file + + + // now using that bitmap provider create the texture. + CAlfTexture & texture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId, provider, EAlfTextureFlagDefault ); + + aImageVisual->SetImage(TAlfImage(texture)); + break; + } + case EBlidSignalStrengthTwo: + { + provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSignalBar03, // svg icon skin constant id defiened in Aknsconstant.h file + iView.ImagePathName(), // mif file name with path. + EMbmBlidQgn_graf_blid_signal_bar_03, // bitmap id defiened in mbg file + EMbmBlidQgn_graf_blid_signal_bar_03_mask ); // bitmap mask id defiened in mbg file + + + // now using that bitmap provider create the texture. + CAlfTexture & texture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId, provider, EAlfTextureFlagDefault ); + + aImageVisual->SetImage(TAlfImage(texture)); + break; + } + case EBlidSignalStrengthThree: + { + provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSignalBar04, // svg icon skin constant id defiened in Aknsconstant.h file + iView.ImagePathName(), // mif file name with path. + EMbmBlidQgn_graf_blid_signal_bar_04, // bitmap id defiened in mbg file + EMbmBlidQgn_graf_blid_signal_bar_04_mask ); // bitmap mask id defiened in mbg file + + + // now using that bitmap provider create the texture. + CAlfTexture & texture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId, provider, EAlfTextureFlagDefault ); + + aImageVisual->SetImage(TAlfImage(texture)); + break; + } + case EBlidSignalStrengthFour: + { + provider = iView.ImageLoaderUtils()->CreateImageLoaderL( KAknsIIDQgnGrafBlidSignalBar05, // svg icon skin constant id defiened in Aknsconstant.h file + iView.ImagePathName(), // mif file name with path. + EMbmBlidQgn_graf_blid_signal_bar_05, // bitmap id defiened in mbg file + EMbmBlidQgn_graf_blid_signal_bar_05_mask ); // bitmap mask id defiened in mbg file + + + // now using that bitmap provider create the texture. + CAlfTexture & texture = iEnv.TextureManager().CreateTextureL( KAlfAutoGeneratedTextureId, provider, EAlfTextureFlagDefault ); + + aImageVisual->SetImage(TAlfImage(texture)); + break; + } + default: + { + break; + } + } + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::ChangeNavigationViewL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::ChangeNavigationViewL() + { + if (iView.IsForeGroundApp()) + { + iView.ActivateNavigationViewL(); + } + //delete the timer if present + delete iTimer; + iTimer = NULL; + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::ChangeSoftKeyL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::ChangeSoftKeyL() + { + iView.ChangeViewSoftKeyL(); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::UpdateDisplayLayoutL +// ---------------------------------------------------- +// +void CBlidSatelliteControl::UpdateDisplayLayoutL( ) + { + CalculateRects(); + SetAnchors(); + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::CalculateRects +// ---------------------------------------------------- +// +void CBlidSatelliteControl::CalculateRects() + { + TAknLayoutRect mainBlid2Pane; + TAknLayoutRect layoutWindow; + TRect mainRect; + TRect animationRect; + TInt variety; + + if( Layout_Meta_Data::IsLandscapeOrientation() ) + { + variety = 1; + } + else + { + variety = 0; + } + + /////////////// calculate animation rect ///////////////////////// + mainBlid2Pane.LayoutRect( iView.ApplicationRect(), + AknLayoutScalable_Apps::main_blid2_pane().LayoutLine() ); + + mainRect = mainBlid2Pane.Rect(); + + mainBlid2Pane.LayoutRect( mainRect, + AknLayoutScalable_Apps::blid2_gps_pane( 0 ).LayoutLine() ); + + animationRect = mainBlid2Pane.Rect(); + + mainBlid2Pane.LayoutRect( animationRect, + AknLayoutScalable_Apps::blid2_gps_pane_g1( variety ).LayoutLine() ); + + iGlobeRect = mainBlid2Pane.Rect(); + + /////////////// calculate satellite grid rect ///////////////////////// + mainBlid2Pane.LayoutRect( animationRect, + AknLayoutScalable_Apps::grid_blid2_satellite_pane( variety ).LayoutLine() ); + + iSatGridRect = mainBlid2Pane.Rect(); + + /////////////// calculate cell rects ///////////////////////// + TAknLayoutScalableParameterLimits paramLimits; + paramLimits = AknLayoutScalable_Apps::cell_blid2_satellite_pane_ParamLimits(); + + TInt numberOfRows = paramLimits.LastRow() - paramLimits.FirstRow() + 1; + TInt numberOfColumns = paramLimits.LastColumn() - paramLimits.FirstColumn() + 1; + iSignalBarRects.Reset(); + iSatelliteNumberRects.Reset(); + for( TInt row = paramLimits.FirstRow() ; row <= paramLimits.LastRow(); ++row ) + { + for( TInt column = paramLimits.FirstColumn() ; column <= paramLimits.LastColumn(); ++column ) + { + layoutWindow.LayoutRect( iSatGridRect, AknLayoutScalable_Apps::cell_blid2_satellite_pane(0, column, row).LayoutLine() ); + TRect cellRect = layoutWindow.Rect(); + + layoutWindow.LayoutRect( cellRect, AknLayoutScalable_Apps::cell_blid2_satellite_pane_g1(0).LayoutLine()); + TRect barRect = layoutWindow.Rect(); + iSignalBarRects.Append(barRect); + + // Save the layouts of the satellite numbers + TAknLayoutText satNumberLayout; + satNumberLayout.LayoutText(cellRect, AknLayoutScalable_Apps::cell_blid2_satellite_pane_t1(0).LayoutLine()); + iSatelliteNumberRects.Append(satNumberLayout.TextRect()); + } + } + } + +// ---------------------------------------------------- +// CBlidSatelliteControl::SetAnchors +// ---------------------------------------------------- +// +void CBlidSatelliteControl::SetAnchors() + { + // Anchor for Globe Animation + TAlfRealPoint topAnimationPoint( iGlobeRect.iTl ); + TAlfRealPoint bottomAnimationPoint( iGlobeRect.iBr ); + + iMainAnchorLayout->SetAnchor( EAlfAnchorTopLeft, 0, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( topAnimationPoint.iX, topAnimationPoint.iY ) ); + iMainAnchorLayout->SetAnchor( EAlfAnchorBottomRight, 0, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( bottomAnimationPoint.iX, bottomAnimationPoint.iY ) ); + + // Set anchor for all signal strength images + for( TInt i = 0; i < 16; i++ ) + { + TInt ordinal = i*2 + 1; + + TAlfRealPoint topPoint( iSignalBarRects[i].iTl ); + TAlfRealPoint bottomPoint( iSignalBarRects[i].iBr ); + + iMainAnchorLayout->SetAnchor(EAlfAnchorTopLeft, ordinal, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( topPoint.iX, topPoint.iY ) ); + iMainAnchorLayout->SetAnchor(EAlfAnchorBottomRight, ordinal, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY ) ); + } + // Set anchor for Satellite number text + for( TInt i = 0; i < 16; i++ ) + { + TInt ordinal = i*2 + 2; + + TAlfRealPoint topPoint( iSatelliteNumberRects[i].iTl ); + TAlfRealPoint bottomPoint( iSatelliteNumberRects[i].iBr ); + + iMainAnchorLayout->SetAnchor(EAlfAnchorTopLeft, ordinal, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( topPoint.iX, topPoint.iY ) ); + iMainAnchorLayout->SetAnchor(EAlfAnchorBottomRight, ordinal, + EAlfAnchorOriginLeft, EAlfAnchorOriginTop, + EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute, + TAlfTimedPoint( bottomPoint.iX, bottomPoint.iY ) ); + } + + } + +// ---------------------------------------------------------------------------- +// TimerCallBack +// ---------------------------------------------------------------------------- +// +TInt TimerCallBack(TAny* aPtr) + { + CBlidSatelliteControl* ptr = static_cast(aPtr); + if( ptr ) + { + // Activate navigation view + TRAP_IGNORE( ptr->ChangeNavigationViewL() ); + } + return 0; + } +//End Of File + + +