basiclocationinfodisplay/blid/ui/src/CBlidAppUi.cpp
branchRCL_3
changeset 17 1fc85118c3ae
parent 16 8173571d354e
child 18 870918037e16
--- a/basiclocationinfodisplay/blid/ui/src/CBlidAppUi.cpp	Thu Aug 19 09:48:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-/*
-* Copyright (c) 2005-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 UI class methods.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknsUtils.h>
-#include <blid.rsg>
-#include <akncontext.h> 
-#include <hlplch.h>
-#include <StringLoader.h>
-#include <blid.mbg>
-#include <CSatelliteInfoUI.h>
-
-#include "CBlidAppUi.h"
-#include "Blid.hrh"
-#include "CBlidDocument.h"
-#include "CBlidMainView.h"
-#include "CBlidNavigationView.h"
-#include "CBlidTripMeterView.h"
-#include "CBlidSettingsView.h"
-#include "CBlidSavedWayptsView.h"
-#include "CBlidSatelliteView.h"
-#include "CBlidEng.h"
-#include "Blidutils.h"
-#include "CHtkNavigationControl.h"
-#include "CHtkTripMeterControl.h"
-#include "FileSystemInfo.h"
-#include "BlidUID.h"
-#include "CBlidSatelliteControl.h"
-
-#ifdef _DEBUG
-_LIT( KPanicMsg, "CBlidAppUi::TabChangedL");
-	
-enum TPanicCode
-    {
-    KBlidNullPointer = 1
-    };
-#endif
-    
-// ================= MEMBER FUNCTIONS =======================
-//
-// ----------------------------------------------------------
-// CBlidAppUi::ConstructL
-// Second phase construction
-// ----------------------------------------------------------
-//
-void CBlidAppUi::ConstructL()
-
-    {
-    RDebug::Print(_L("CBlidAppUi::ConstructL() called"));
-    
-    TLocale locale;    
-    locale.SetUnitsGeneral(EUnitsMetric);    
-    locale.Set();
-    
-
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible);
-    
-    //Code added for HTK tool kit support    
-    // Create the environment
-    iAlfEnv = CAlfEnv::NewL();
-    
-    // assign private path to the texture manager
-    CFileSystemInfo* fileSystemInfo = CFileSystemInfo::NewLC(TUid::Uid(KBLIDUID3));
-    TFileName path = fileSystemInfo->PrivatePath();    
-    CleanupStack::PopAndDestroy(fileSystemInfo);
-    
-    iAlfEnv->TextureManager().SetImagePathL( path );
-    
-    //End of addition.
-    iContextPane = ETrue;
-    iIsSatViewActive = EFalse;
-
-    CBlidBaseView* navigationView = CBlidNavigationView::NewLC( *this, *iAlfEnv ); 
-    AddViewL( navigationView );      // transfer ownership to CAknViewAppUi
-    CleanupStack::Pop( navigationView );    // navigationView 
-
-    CBlidBaseView* tripMeterView = CBlidTripMeterView::NewLC( *this, *iAlfEnv );
-    AddViewL( tripMeterView );
-    CleanupStack::Pop( tripMeterView ); // tripMeterView
-
-    CBlidBaseView* settingsView = CBlidSettingsView::NewLC(*this);
-    AddViewL( settingsView );
-    CleanupStack::Pop( settingsView ); // settingsView
-
-    CBlidBaseView* savedwayptsView = CBlidSavedWayptsView::NewLC(*this);
-    AddViewL( savedwayptsView );
-    CleanupStack::Pop( savedwayptsView ); // savedwayptsView
-
-    CBlidMainView* mainview = CBlidMainView::NewLC( *this, *iAlfEnv );
-    AddViewL( mainview );
-    CleanupStack::Pop( mainview ); // mainview
-
-    CBlidSatelliteView* mainSatview = CBlidSatelliteView::NewLC( *this, *iAlfEnv );
-    AddViewL( mainSatview );
-    CleanupStack::Pop( mainSatview ); // mainSatview
-
-    SetDefaultViewL( *mainview );
-    
-	//start requesting
-    CBlidEng* engine = BlidDocument()->Engine();
-
-	if( engine->LocationModel() )
-		{
-	    HBufC* srvName = StringLoader::LoadLC( 
-	                      R_BLID_SERVICE_RULE_NAME, iCoeEnv );
-
-	    engine->LocationModel()->InitialLocationRequestL( *srvName );
-	    CleanupStack::PopAndDestroy(srvName); //srvName
-	    engine->LocationModel()->StartRequesting();
-		}
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::~CBlidAppUi
-// Destructor
-// Frees reserved resources
-// ----------------------------------------------------
-//
-CBlidAppUi::~CBlidAppUi()
-    {
-    delete iAlfEnv;
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::LocDocument
-// Returns the Location document object.
-// ----------------------------------------------------
-//
-CBlidDocument* CBlidAppUi::BlidDocument() const
-    {
-    // Explicit cast: the document must always be of type CBlidDocument
-    return static_cast<CBlidDocument*>(Document());
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::ShowDialog
-// Displayes Overwrite waypoint note
-// ----------------------------------------------------
-//
-void CBlidAppUi::ShowDialogL( const BlidNotes::TBlidNotes /*aNoteId*/ )
-    {
-    BlidNotes::OverWriteWaypointNoteL();
-    }
-
-
-
-// ----------------------------------------------------
-// CBlidAppUi::SkinChange
-// Handle skin change
-// ----------------------------------------------------
-//
-void CBlidAppUi::SkinChange()
-    {
-    iContextPane = !iContextPane;
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::HandleCommandL
-// Handle options menu commands
-// ----------------------------------------------------
-//
-void CBlidAppUi::HandleCommandL(TInt aCommand)
-    {
-    switch ( aCommand )
-        {
-        case EAknCmdHelp:
-            {
-            HlpLauncher::LaunchHelpApplicationL(iCoeEnv->WsSession(), 
-            AppHelpContextL());            
-            break;
-            }
-        // these all are same: save & exit
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-        case EEikCmdExit:
-            {
-			CBlidTripMeterView* view = static_cast<CBlidTripMeterView*>( View( TUid::Uid( EBlidTripMeterView ) ) );
-			if( view )
-				{
-				view->GetControl()->SaveOdometerValue();					
-				}
-			//////////////////////////////////////
-            RWsSession& ws = iCoeEnv->WsSession();
-            TApaTaskList taskList(ws);
-            TUid appUid = { KBLIDUID3 };
-            TApaTask task = taskList.FindApp( appUid );
-            if ( task.Exists() )
-                {
-                // stop any task runing for this application.
-                task.EndTask();
-                }
-			////////////////////////////////////////                
-            Exit();
-            break;
-            }
-        case EBlidCmdSettings:
-            {
-            ActivateLocalViewL( TUid::Uid(EBlidSettingsView) );
-            break;
-            }
-        case EBlidCmdSatelliteStatus:
-            {            
-            TRAPD( error, LaunchSatelliteInfoDlgL() );
-            if ( error != KErrNone )
-                {
-                // need to be NULL, before leave
-                iSatelliteInfo = NULL;
-                User::Leave( error );
-                }
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::TabChangedL
-// Called when Tab is changed, activates appropriate view
-// ----------------------------------------------------
-//
-void CBlidAppUi::TabChangedL(TInt aIndex)
-    {
-    // Gets a subpane control by ID
-    CAknNavigationControlContainer* naviCtrlContainer =
-            static_cast<CAknNavigationControlContainer*>
-            ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-    __ASSERT_DEBUG( naviCtrlContainer, 
-        User::Panic(KPanicMsg, KBlidNullPointer) );
-
-    // Return topmost object from navigation pane's object stack.
-    CAknNavigationDecorator* decorator = naviCtrlContainer->Top();
-    __ASSERT_DEBUG( decorator && decorator->ControlType() == 
-        CAknNavigationDecorator::ETabGroup, 
-        User::Panic( KPanicMsg, KBlidNullPointer ) );
-
-    CAknTabGroup* tabGroup = 
-        static_cast< CAknTabGroup* > ( decorator->DecoratedControl() );
-    __ASSERT_DEBUG( tabGroup && aIndex >= 0 && aIndex < tabGroup->TabCount(),
-        User::Panic(KPanicMsg, KBlidNullPointer));
-    ActivateLocalViewL(TUid::Uid(tabGroup->TabIdFromIndex(aIndex)));
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::HandleForegroundEventL
-// Called whenever app goes to background or comes to foreground
-// ----------------------------------------------------
-//
-void CBlidAppUi::HandleForegroundEventL(TBool aForeground)
-    {
-    CAknAppUi::HandleForegroundEventL( aForeground );  
-    iForeground = aForeground;
-
-    CBlidEng* engine = BlidDocument()->Engine();
-    if (aForeground)
-        {
-        engine->SetAppMode(CBlidEng::EAppForeground);
-        if (engine->LocationModel())
-            {
-            if (engine->LocationModel()->GetRegisteredViewId()
-                    == EBlidNavigationView)
-                {
-                CBlidNavigationView* view =
-                        static_cast<CBlidNavigationView*> (View(TUid::Uid(
-                                EBlidNavigationView)));
-                view->GetControl()->UpdateL();
-                }
-            if (engine->LocationModel()->GetRegisteredViewId()
-                    == EBlidTripMeterView)
-                {
-                CBlidTripMeterView* view =
-                        static_cast<CBlidTripMeterView*> (View(TUid::Uid(
-                                EBlidTripMeterView)));
-                view->GetControl()->UpdateL();
-                }
-            if (engine->LocationModel()->GetRegisteredViewId()
-                    == EBlidMainSatelliteView)
-                {
-                CBlidSatelliteView* view = static_cast<CBlidSatelliteView*> (View(
-                        TUid::Uid(EBlidMainSatelliteView)));
-                view->GetControl()->UpdateL();
-                }
-            if (engine->LocationModel()->GetRegisteredViewId()
-                    == EBlidMainView)
-                {
-                CBlidMainView* view = static_cast<CBlidMainView*> (View(
-                        TUid::Uid(EBlidMainView)));
-                view->GetControl()->UpdateL();
-                }        
-            }
-        }
-    else
-        {
-        engine->SetAppMode(CBlidEng::EAppBackground);
-        engine->SetBackLightStateL(CBlidEng::EBlidBacklightNormal);
-        if (engine->LocationModel()->GetRegisteredViewId()
-                == EBlidNavigationView)
-            {
-            CBlidNavigationView* view =
-                    static_cast<CBlidNavigationView*> (View(TUid::Uid(
-                            EBlidNavigationView)));
-            view->GetControl()->StopPlayerL();
-            }
-        }
-
-    if (iSatelliteInfo)
-        {
-        iSatelliteInfo->HandleForegroundEventL( aForeground );
-        }
-    
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::ProcessKeyEventL
-// Process key event
-// ----------------------------------------------------
-//
-TBool CBlidAppUi::ProcessKeyEventL( const TKeyEvent& /*aKeyEvent*/,
-    TEventCode /*aType*/ )
-    {    
-    return EKeyWasNotConsumed; 
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::TabObserver
-// Retruns CBlidAppUi pointer, which is Tab observer
-// ----------------------------------------------------
-//
-MAknTabObserver* CBlidAppUi::TabObserver()
-    {
-    return this;
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::LaunchSatelliteInfoDlgL
-// Launches Satellite info dialog
-// ----------------------------------------------------
-//
-void CBlidAppUi::LaunchSatelliteInfoDlgL()
-    {
-    HBufC* srvName = StringLoader::LoadLC( 
-                              R_BLID_SERVICE_RULE_NAME, 
-                              iCoeEnv );                
-    iSatelliteInfo = CSatelliteInfoUI::NewL();
-    iSatelliteInfo->ExecuteLD( *srvName );
-    CleanupStack::PopAndDestroy(srvName); //srvName
-    iSatelliteInfo = NULL;
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::IsForeground
-// Checks if App is in foreground
-// ----------------------------------------------------
-//
-TBool CBlidAppUi::IsForeground()
-    {
-    return iForeground; 
-    }
-
-// ----------------------------------------------------
-// CBlidAppUi::HandleResourceChangeL
-// Handles a change to the resources
-// ----------------------------------------------------
-//
-void CBlidAppUi::HandleResourceChangeL( TInt aType )    
-	{
-	CAknAppUi::HandleResourceChangeL( aType );
-    CBlidEng* engine = BlidDocument()->Engine();
-
-	if( engine->LocationModel() )
-		{
-		CBlidNavigationView* NavView = static_cast<CBlidNavigationView*>(View(TUid::Uid(EBlidNavigationView)));
-    	NavView->HandleResourceChangeL( aType );
-
-		CBlidTripMeterView* TripView = static_cast<CBlidTripMeterView*>(View(TUid::Uid(EBlidTripMeterView)));
-		TripView->HandleResourceChangeL( aType );
-
-		CBlidMainView* MainView = static_cast<CBlidMainView*>(View(TUid::Uid(EBlidMainView)));
-	    MainView->HandleResourceChangeL( aType );
-
-		CBlidSatelliteView* SatView = static_cast<CBlidSatelliteView*>(View(TUid::Uid(EBlidMainSatelliteView)));
-		SatView->HandleResourceChangeL( aType );
-		}
-	}
-
-// ----------------------------------------------------
-// CBlidAppUi::SetSatelliteViewActive
-// Set satellite view active or inactive
-// ----------------------------------------------------
-//
-void CBlidAppUi::SetSatelliteViewActive( TBool aActive )    
-	{
-	iIsSatViewActive = aActive;
-	}
-
-// ----------------------------------------------------
-// CBlidAppUi::IsSatelliteViewActive
-// Check if Satellite view is active
-// ----------------------------------------------------
-//
-TBool CBlidAppUi::IsSatelliteViewActive( )
-	{
-	return iIsSatViewActive;	
-	}
-
-// ----------------------------------------------------
-// CBlidAppUi::ResetOdoMeterValueL
-// Resets the odometer value
-// ----------------------------------------------------
-//
-void CBlidAppUi::ResetOdoMeterValueL()
-	{
-	CBlidTripMeterView* view = static_cast<CBlidTripMeterView*>(View(TUid::Uid(EBlidTripMeterView)));
-	if( view )
-		{
-		view->GetControl()->ResetOdometerDistanceL();			
-		}
-	}
-// End of File