basiclocationinfodisplay/blid/ui/inc/CBlidNavigationView.h
branchRCL_3
changeset 17 1fc85118c3ae
parent 16 8173571d354e
child 18 870918037e16
equal deleted inserted replaced
16:8173571d354e 17:1fc85118c3ae
     1 /*
       
     2 * Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Declares compass view for Blid application.
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef BLIDNAVIGATIONVIEW_H
       
    19 #define BLIDNAVIGATIONVIEW_H
       
    20 
       
    21 // SYSTEM INCLUDES
       
    22 #include "CBlidBaseView.h"
       
    23 #include "MBlidLocation.h"
       
    24 #include "MBlidRouter.h"
       
    25 
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 class CHtkNavigationControl;
       
    29 class CAlfEnv;
       
    30 class CBlidLocSettingsLauncher;
       
    31 class CAlfControlGroup;
       
    32 class CAlfDisplay;
       
    33 
       
    34 // CLASS DECLARATION
       
    35 
       
    36 /**
       
    37 *  CBlidNavigationView view class.
       
    38 *
       
    39 */
       
    40 class CBlidNavigationView : public CBlidBaseView
       
    41     {
       
    42     public: // Constructors and destructor
       
    43         /**
       
    44          * C++ default constructor.
       
    45          * @param aKeyProcessor
       
    46          * @return A pointer to CBlidNavigationView
       
    47          */
       
    48         static CBlidNavigationView* NewLC( MKeyProcessor& aKeyProcessor,CAlfEnv& aEnv );
       
    49 
       
    50         /**
       
    51          * Destructor.
       
    52          */
       
    53         ~CBlidNavigationView();
       
    54 
       
    55     private: // constructor
       
    56         /**
       
    57          * C++ constructor
       
    58          * @param aKeyProcessor
       
    59          */
       
    60         CBlidNavigationView( MKeyProcessor& aKeyProcessor,CAlfEnv& aEnv );
       
    61 
       
    62         /**
       
    63          * By default Symbian 2nd phase constructor is private.
       
    64          */
       
    65         void ConstructL();
       
    66     
       
    67     public: //From MBlidEngObserver
       
    68     	/**
       
    69          * From MBlidEngObserver, called when a position update is received.
       
    70          */
       
    71         void NotifyL( const TBool aOnlineMode );
       
    72         /**
       
    73          * From MBlidEngObserver, called when there is an error in receiving position update
       
    74          */
       
    75         void NotifyErrorL( TInt aErrorCode );
       
    76 
       
    77     public: // From MKeyProcessor
       
    78     	/**
       
    79          * Process the key event
       
    80          */
       
    81 		TBool ProcessKeyEventL( const TKeyEvent& aKeyEvent,
       
    82                                 TEventCode aType );
       
    83 
       
    84     public: // From CAknView
       
    85     	/**
       
    86          * From CAknView, returns the view id
       
    87          */
       
    88         TUid Id() const;
       
    89         /**
       
    90          * From CAknView, takes care of command handling.
       
    91          */
       
    92         void HandleCommandL(TInt aCommand);
       
    93         /**
       
    94          * From CAknView, handles a change to the resources
       
    95          */
       
    96         void HandleResourceChangeL( TInt aType );
       
    97     public:
       
    98     	/**
       
    99          * Retruns the navigation control
       
   100          */
       
   101         CHtkNavigationControl* GetControl();        
       
   102 
       
   103     private: // From CAknView
       
   104     	/**
       
   105          * From CAknView, called when view is activated
       
   106          */
       
   107         void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,
       
   108             const TDesC8& aCustomMessage);
       
   109         /**
       
   110          * From CAknView, called when view is deactivated
       
   111          */    
       
   112         void DoDeactivate();
       
   113 
       
   114     #ifdef RD_SCALABLE_UI_V2
       
   115     private:
       
   116        /**
       
   117         * From CBlidBaseView.
       
   118         */
       
   119         void HandleListBoxSelectionL();
       
   120     #endif // RD_SCALABLE_UI_V2
       
   121     
       
   122     private: 
       
   123     	/**
       
   124          * Selects a waypoint
       
   125          */
       
   126         TInt SelectWaypointL();
       
   127         /**
       
   128          * Launches landmarks selector dialogs
       
   129          */
       
   130         TInt LaunchLandmarksDialogL();
       
   131         /**
       
   132          * Launches waypoint dialog
       
   133          */
       
   134         TInt LaunchManualWaypointDialogL();
       
   135         /**
       
   136          * Inserts a waypoint
       
   137          */
       
   138         TBool InsertWaypointL();
       
   139         /**
       
   140          * Save current position, launches landmarks add/edit dialog
       
   141          */
       
   142         void SaveCurrentPositionAsLandmarkL();
       
   143     
       
   144     private: // Data
       
   145 		
       
   146 		CHtkNavigationControl*  iNavigationCtrl;
       
   147 		
       
   148 		CAlfEnv& iEnv;
       
   149 
       
   150 		CAlfControlGroup* iNavigationCtrlGroup;
       
   151 		
       
   152         // Own: Pointer to Location Settings Launcher
       
   153         CBlidLocSettingsLauncher* iLauncher;
       
   154         
       
   155         CAlfDisplay*		iCtrlDisplay;
       
   156     };
       
   157 
       
   158 #endif
       
   159 
       
   160 // End of File