basiclocationinfodisplay/blid/ui/inc/CBlidNavigationView.h
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/basiclocationinfodisplay/blid/ui/inc/CBlidNavigationView.h	Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,160 @@
+/*
+* 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:  Declares compass view for Blid application.
+*
+*/
+
+#ifndef BLIDNAVIGATIONVIEW_H
+#define BLIDNAVIGATIONVIEW_H
+
+// SYSTEM INCLUDES
+#include "CBlidBaseView.h"
+#include "MBlidLocation.h"
+#include "MBlidRouter.h"
+
+
+// FORWARD DECLARATIONS
+class CHtkNavigationControl;
+class CAlfEnv;
+class CBlidLocSettingsLauncher;
+class CAlfControlGroup;
+class CAlfDisplay;
+
+// CLASS DECLARATION
+
+/**
+*  CBlidNavigationView view class.
+*
+*/
+class CBlidNavigationView : public CBlidBaseView
+    {
+    public: // Constructors and destructor
+        /**
+         * C++ default constructor.
+         * @param aKeyProcessor
+         * @return A pointer to CBlidNavigationView
+         */
+        static CBlidNavigationView* NewLC( MKeyProcessor& aKeyProcessor,CAlfEnv& aEnv );
+
+        /**
+         * Destructor.
+         */
+        ~CBlidNavigationView();
+
+    private: // constructor
+        /**
+         * C++ constructor
+         * @param aKeyProcessor
+         */
+        CBlidNavigationView( MKeyProcessor& aKeyProcessor,CAlfEnv& aEnv );
+
+        /**
+         * By default Symbian 2nd phase constructor is private.
+         */
+        void ConstructL();
+    
+    public: //From MBlidEngObserver
+    	/**
+         * From MBlidEngObserver, called when a position update is received.
+         */
+        void NotifyL( const TBool aOnlineMode );
+        /**
+         * From MBlidEngObserver, called when there is an error in receiving position update
+         */
+        void NotifyErrorL( TInt aErrorCode );
+
+    public: // From MKeyProcessor
+    	/**
+         * Process the key event
+         */
+		TBool ProcessKeyEventL( const TKeyEvent& aKeyEvent,
+                                TEventCode aType );
+
+    public: // From CAknView
+    	/**
+         * From CAknView, returns the view id
+         */
+        TUid Id() const;
+        /**
+         * From CAknView, takes care of command handling.
+         */
+        void HandleCommandL(TInt aCommand);
+        /**
+         * From CAknView, handles a change to the resources
+         */
+        void HandleResourceChangeL( TInt aType );
+    public:
+    	/**
+         * Retruns the navigation control
+         */
+        CHtkNavigationControl* GetControl();        
+
+    private: // From CAknView
+    	/**
+         * From CAknView, called when view is activated
+         */
+        void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,
+            const TDesC8& aCustomMessage);
+        /**
+         * From CAknView, called when view is deactivated
+         */    
+        void DoDeactivate();
+
+    #ifdef RD_SCALABLE_UI_V2
+    private:
+       /**
+        * From CBlidBaseView.
+        */
+        void HandleListBoxSelectionL();
+    #endif // RD_SCALABLE_UI_V2
+    
+    private: 
+    	/**
+         * Selects a waypoint
+         */
+        TInt SelectWaypointL();
+        /**
+         * Launches landmarks selector dialogs
+         */
+        TInt LaunchLandmarksDialogL();
+        /**
+         * Launches waypoint dialog
+         */
+        TInt LaunchManualWaypointDialogL();
+        /**
+         * Inserts a waypoint
+         */
+        TBool InsertWaypointL();
+        /**
+         * Save current position, launches landmarks add/edit dialog
+         */
+        void SaveCurrentPositionAsLandmarkL();
+    
+    private: // Data
+		
+		CHtkNavigationControl*  iNavigationCtrl;
+		
+		CAlfEnv& iEnv;
+
+		CAlfControlGroup* iNavigationCtrlGroup;
+		
+        // Own: Pointer to Location Settings Launcher
+        CBlidLocSettingsLauncher* iLauncher;
+        
+        CAlfDisplay*		iCtrlDisplay;
+    };
+
+#endif
+
+// End of File