--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/basiclocationinfodisplay/blid/ui/inc/CBlidBaseView.h Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,286 @@
+/*
+* Copyright (c) 2005 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 main view for blid application.
+*
+*/
+
+
+#ifndef CBLIDBASEVIEW_H
+#define CBLIDBASEVIEW_H
+
+// INCLUDES
+#include <aknview.h>
+#include <featmgr.h>
+#include <bldvariant.hrh>
+
+#ifdef RD_SCALABLE_UI_V2
+#include <eikclb.h>
+#endif // RD_SCALABLE_UI_V2
+
+#include "MKeyProcessor.h"
+#include "MBlidEngObserver.h"
+#include "CLmkLandmarkSelectorDlg.h"
+#include "blidcommonconsts.h"
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CBlidBaseContainer;
+class CEikMenuPane;
+class MBlidRouter;
+class MBlidLocation;
+class CBlidEng;
+class CBlidCurrentPositionDlg;
+class CBlidDocument;
+class CAlfImageLoaderUtil;
+
+// CLASS DECLARATION
+/**
+* Base view class.
+*
+*/
+class CBlidBaseView : public CAknView, public MKeyProcessor,
+ public MBlidEngObserver
+ #ifdef RD_SCALABLE_UI_V2
+ ,public MEikListBoxObserver
+ #endif // RD_SCALABLE_UI_V2
+ {
+ public: // Constructors and destructor
+ /**
+ * C++ constructor
+ * @param aKeyProcessor A pointer to MKeyProcessor
+ */
+ CBlidBaseView( MKeyProcessor& aKeyProcessor );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ * @param aResId Resource id
+ */
+ void BaseConstructL( TInt aResId );
+
+ /**
+ * Destructor.
+ */
+ ~CBlidBaseView();
+
+ public: // From MKeyProcessor
+ TBool ProcessKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+ MAknTabObserver* TabObserver();
+
+ public: // From MEikMenuObserver
+ void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+ public: //From MBlidEngObserver
+ void NotifyL( const TBool aOnlineMode );
+ void NotifyErrorL( TInt aErrorCode );
+ void Update(CBlidBaseContainer* aContainer);
+ CEikButtonGroupContainer* CBAPtr() const;
+
+ protected: // New methods
+ /**
+ * Handle help requests
+ *
+ * @param aMenuPane A pointer to CEikMenuPane
+ */
+ void HandleHelpFeature( CEikMenuPane* aMenuPane ) const;
+
+ /**
+ * Insert waypoint to MBlidRouter's array
+ * @return ETrue if waypoint inserted,
+ * EFalse if waypoint not inserted
+ */
+ TBool InsertWaypointL();
+
+ /**
+ * Select waypoint from the list
+ *
+ * @return index of list
+ */
+ TInt SelectWaypointL();
+
+ /**
+ * Check if waypoint name exist
+ * @param aName
+ * @return TBool
+ */
+ TBool CheckIfExistL( const TDes& aName, TInt& aErrorCode, TInt& aRemovedIndex );
+
+ /**
+ * Launches the Landmark Dialog
+ *
+ */
+ TInt LaunchLandmarksDialogL();
+
+ /**
+ * Launches confirmation dialog
+ *
+ */
+ TInt NotifyUserErrorL(TInt resourceId);
+
+ void SaveCurrentPositionAsLandmarkL();
+
+ TInt LaunchManualWaypointDialogL();
+
+ /**
+ * Make visible Middle Soft Key Label/Icon.
+ *
+ */
+ void SetMSKVisible();
+
+ #ifdef RD_SCALABLE_UI_V2
+ /**
+ * From MEikListBoxObserver.
+ * Handles listbox events.
+ * @param aListBox Listbox where the event occurred.
+ * @param aEventType Event type.
+ */
+ void HandleListBoxEventL( CEikListBox* aListBox,
+ TListBoxEvent aEventType );
+
+ /**
+ * Called by HandleListBoxEventL to handles list box selections.
+ * This is Pure virtual function so every derived view class
+ * need defination for this function
+ */
+ virtual void HandleListBoxSelectionL() = 0;
+ #endif // RD_SCALABLE_UI_V2
+
+ void ShowCurrentPositionInfoL();
+
+ public: //New Method
+ /**
+ * Changes the MSK visibility option depending upon some condition.
+ *
+ */
+ void SetMSKNotVisible();
+
+ /**
+ * Update Middle Soft Key label/Icon depending upon GPS data Availability
+ *
+ */
+ void UpdateMskStateL();
+
+ void SaveCurrentPositionL();
+
+ CBlidDocument* BlidDocument();
+
+ void ActivateSatelliteViewL( );
+
+ TBool IsSatViewActive( );
+
+ TBool IsForeGroundApp( );
+
+ void ExitMainApplicationL( TInt aButtonId );
+
+ void LaunchTripContextMenuL();
+
+ void LaunchNavigationContextMenuL();
+
+ void LaunchSatelliteInfoDlgL();
+
+ /**
+ * Sets the Middle Soft Key label after reding from the resource ID.
+ * @param aResourceId
+ * @param aCommandId
+ */
+ void SetMiddleSoftKeyLabelL(const TInt aResourceId, const TInt aCommandId );
+
+ void RemoveMiddleSoftKeyLabel( const TInt aCommandId );
+
+ void ActivateNavigationViewL( );
+
+ void ChangeViewSoftKeyL( );
+
+ TRect ApplicationRect() const;
+
+ CAlfImageLoaderUtil* ImageLoaderUtils( ) const;
+
+ TFileName ImagePathName( ) const;
+
+
+ #ifdef RD_SCALABLE_UI_V2
+ public:
+ /**
+ * Depends upon the Lm feature availability
+ * return ETrue or EFalse
+ * @return Tbool
+ */
+ TBool IsLmFeatureAvailable();
+
+ /**
+ * Depends upon the Lm availability in DB
+ * return ETrue or EFalse
+ * @return Tbool
+ */
+ TBool IsLmAvailableL();
+
+ /**
+ * Depends upon saved Waypoint availability
+ * return ETrue or EFalse
+ * @return Tbool
+ */
+ TBool IsWpAvailable();
+
+ #endif // RD_SCALABLE_UI_V2
+
+ public://new function added for HTK
+ void ActivateCorrectViewL( TInt aIndex );
+
+ TBool IsSettingsViewActive();
+
+ CCoeEnv* CoeEnv();
+
+
+ protected: // Data
+ /// Not owned: reference to key processor
+ MKeyProcessor& iKeyProcessor;
+
+ // Not owned: A pointer to location model
+ MBlidLocation* iLocation;
+
+ // Not owned: A pointer to router model
+ MBlidRouter* iRouter;
+
+ // Not owned: A pointer to blid's engine
+ CBlidEng* iEngine;
+
+ /// Own: Landmark Dialog
+ CLmkLandmarkSelectorDlg* iLandmarkInfo;
+
+ ///Own: count for 30 sec PSY unavailaility
+ static TInt iPSYTimeoutCount;
+
+ ///Own: Manual waypoint default name
+ TBuf<KBlidWaypointNameMaxLen> iManualWaypointName;
+
+ static TBool iOnline;
+
+ TInt iGPSTimeoutCount;
+
+ //Own: Boolean value holds whether the MSK is visible or not.
+ TBool iMSKVisible;
+
+ TBool iIsSettingsViewActive;
+
+ private:
+ CBlidCurrentPositionDlg* iPopupDialog;
+
+ TFileName iConFileName;
+
+ CAlfImageLoaderUtil* iImageLoaderUtil;
+
+ };
+
+#endif //CBLIDBASEVIEW_H
+
+// End of File