diff -r 8173571d354e -r 1fc85118c3ae basiclocationinfodisplay/blid/ui/inc/CHtkNavigationControl.h --- a/basiclocationinfodisplay/blid/ui/inc/CHtkNavigationControl.h Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,566 +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: Blid application compass view's compass control class definition. -* -*/ - - - -#ifndef __CHTKNAVIGATIONCONTROL_H__ -#define __CHTKNAVIGATIONCONTROL_H__ - -// SYSTEM INCLUDES -#include -#include -#include - -//#ifdef RD_SCALABLE_UI_V2 -#include -#include -#include -//#endif // RD_SCALABLE_UI_V2 - -// USER INCLUDE -#include "CBlidBaseView.h" - -//FORWARD DCLERATION -class MBlidLocation; -class MBlidRouter; -class MBlidEngObserver; -class MBlidSettings; -class CBlidEng; -class CEikonEnv; -class MKeyProcessor; -class CAlfEnv; -class CAlfImageVisual; -class CAlfTextVisual; -class CAlfBorderBrush; -class CAlfAnchorLayout; -class CAlfLayout; -class CAlfCurvePath; -class CAlfCurvePathLayout; -class CAlfDeckLayout; -class CAlfTextStyle; -class CBlidArrivedTonePlayerUtility; -class CAlfFrameBrush; -class CAlfImageLoaderUtil; -class CAlfTexture; - -const TInt KNumTexts = 3; - -/*! - @class CHtkNavigationControl - - @discussion - */ -class CHtkNavigationControl : public CAlfControl - { - public: - /*! - @function NewL - - @discussion Create a CHtkNavigationControl object, which will draw itself to aRect - @param aRect the rectangle this view will be drawn to - @result a pointer to the created instance of CHtkNavigationControl - */ - static CHtkNavigationControl* NewL(CAlfEnv& aEnv, - MObjectProvider* aParent, - const TRect& aRect, - MBlidLocation& aLocation, - MBlidRouter& aRouter, - CBlidEng& aEngine, - CBlidBaseView& aView); - - /*! - @function NewLC - - @discussion Create a CHtkNavigationControl object, which will draw itself to aRect - @param aRect the rectangle this view will be drawn to - @result a pointer to the created instance of CHtkNavigationControl - */ - static CHtkNavigationControl* NewLC(CAlfEnv& aEnv, - MObjectProvider* aParent, - const TRect& aRect, - MBlidLocation& aLocation, - MBlidRouter& aRouter, - CBlidEng& aEngine, - CBlidBaseView& aView); - - - /*! - @function ~CHtkNavigationControl - - @discussion Destroy the object and release all memory objects - */ - ~CHtkNavigationControl(); - - - private: - /*! - @function CHtkNavigationControl - - @discussion Perform the first phase of two phase construction - */ - CHtkNavigationControl(CAlfEnv& aEnv, - MBlidLocation& aLocation, - CBlidBaseView& aView, - CBlidEng& aEngine ); - - /*! - @function ConstructL - - @discussion Perform the second phase construction of a CHtkNavigationControl object - */ - void ConstructL(CAlfEnv& aEnv, - const TRect& aRect, - MBlidRouter& aRouter, - CBlidEng& aEngine); - - private: - /** - * Add new tabs to tabgroup - * @param aTabGroup - */ - void AddTabsL(CAknTabGroup& aTabGroup); - - /** - * Appui's status pane getter - * @return Statuspane pointer - */ - CEikStatusPane* StatusPane(); - /** - * Creates navigation visuals - */ - void CreateNavigationVisualsL( ); - /** - * Creates navigation text visuals - */ - void CreateNavigationTextVisualsL( CAlfTextStyle* aStyle1 ); - /** - * Creates disstance visuals - */ - void CreateDistanceVisualL( CAlfTextStyle* aStyle1 ); - /** - * Play arrived tone - */ - void PlayArrivedToneL(); - /** - * Calculate if user has arrived to destination - */ - void CalculateIfArrivedL(); - /** - * Creates application strings - */ - void CreateApplicationStringsL( ); - /** - * Converts durtion into descriptor - */ - void DurationFormat( TDes& aDurationString ); - /** - * Converts distance unit into descriptor - */ - void DistanceUnit( TDes& aUnitString ); - /** - * Converts distance into descriptor - */ - void DistanceFormat( TDes& aDistanceString ); - /** - * Calculates durtion - */ - void CalculateDurationL( TCourse aCourse ); - /** - * Calculates distance - */ - void CalculateDistanceL( TPosition aPosition ); - /** - * Converts speed format into descriptor - */ - void SpeedFormat( TDes& aSpeedString, TDes& aSpeedFormatString); - /** - * Creates speed visuals - */ - void CreateSpeedVisualL( CAlfTextStyle* aStyle1 ); - /** - * Prepares for dynamic move - */ - void PrepareDynamicMoveL( ); - /** - * Sets the landmark name - */ - void SetLandMarksNameL(); - /** - * Displays the current signal strength - */ - void DisplaySatelliteSignalStrength( TInt aSatCount ); - /** - * Creates textures for signal images - */ - void CreateSignalTexturesL(); - /** - * Create popup image texture - */ - void CreatePopupImgTextureL(); - /** - * Creates accuracy ring texture - */ - void CreateAccTextureL(); - - /* - * This function checks wheather - * distance to destination is less than 10 meter - * and return ETrue or EFalse depends upon the condition. - */ - TBool IsInArrivedZone(); - /** - * Creates indicator visual - */ - void CreateIndicatorVisualL(); - /** - * Launches device not available note - */ - void LaunchDeviceNotAvlNoteL(); - /** - * Launches infor query dialog - */ - void LaunchInfoQueryDlgL(); - /** - * Creates animation - */ - void CreateAnimationL(); - /** - * Creates popup visuals - */ - void CreatePopUpVisualL(); - /** - * Updates visual image when timer is expired - */ - void UpdateVisualImage(); - /** - * Called when timer is expired - */ - static TInt Tick(TAny* aObject); // functions for TCallBack protocol - /** - * Launches stylus activated popup - */ - void LaunchStylusPopupMenuL( TPointerEvent aPointerEvent ); - /** - * Calculate the Layout Rects - */ - void CalculateRects(); - /** - * Set Anchors for Visuals - */ - void SetAnchors(); - - public: //from CAlfControl - /** - * Handles the key events - */ - TBool OfferEventL( const TAlfEvent& aEvent ); - /** - * Notify about control visibility - */ - void NotifyControlVisibility( TBool aIsVisible, - CAlfDisplay& aDisplay ); - - - public: - /** - * Update controls - */ - void UpdateL(); - /** - * Clears the navigation info - */ - void ClearNavigationInfoL(); - /** - * Set update option - */ - void SetUpdateOptionL( TBool aIsDestSet ); - /** - * Draw curves - */ - void DrawCurvesL( ); - /** - * Sets the flag visual - */ - void SetFlagVisualL(); - /** - * Sets the accuracy visual - */ - void SetAccRacyVisualL(); - - /** - * Create CAknNavigationDecorator, ownership passed to caller. - * @param aDefaultNaviPane, ETrue if default, EFalse if tabgroup - * @return new instance of object. NULL, if something fails - */ - void CreateNaviPaneL( TBool aDefaultNaviPane ); - - - /** - * Activate navigation decorator. - * Method can called if tab needs to be refreshed. - * @param aNaviDecorator navigation decorator - * @param aTabId activated tabulator id - */ - void ActivateTabL( CAknNavigationDecorator& aNaviDecorator, - TInt aTabId ); - /** - * Retruns the navi decorator - */ - CAknNavigationDecorator* GetNiviDecorator( ); - /** - * Change the flag visual image when reaching destination - */ - void ChangeFlagVisualImageL(); - /** - * Check if user has arrived to the destination - */ - TBool HasArrivedDestination(); - /** - * Make title - * @param aResourceText resource to create title - */ - void MakeTitleL( TInt aResourceText ); - /** - * Stop the arrrival tone player - */ - void StopPlayerL( ); - /** - * Update the layout - */ - void UpdateLayoutL(); - /** - * Displays the info popup msg - */ - void DisplayInfoPopUpMsgL(); - - private: - - /// Ref: A reference to MBlidLocation model - MBlidLocation& iLocationModel; - - /// Ref: A pointer to MBlidRouter model - MBlidRouter* iRouter; - - /// Reference to the view to handle resource change - CBlidBaseView& iView; - - /// Reference to the engine - CBlidEng& iEngine; - - /// Own: Decorator class for navigation pane controls. - CAknNavigationDecorator* iDecoratedTabGroup; - - //Own: Layout for all the visuals. - CAlfAnchorLayout* iLayout; - - //Own: Text visuals. - CAlfTextVisual* iLabel; - - //Own: Text visuals. - CAlfTextVisual* iDistanceLabel; - - //Own: Text visuals. - CAlfTextVisual* iSpeedLabel; - - //Own: Text visuals. - CAlfTextVisual* iSpeedFormatLabel; - - CAlfEnv& iEnv; - - CAlfImageVisual* iImageVisual; - - TInt iIndex; - - /// Own: Position information - TPosition iPositionInfo; - - /// Own: Course information - TCourse iCourse; - - /// Ref: A pointer to MBlidSettings model - MBlidSettings* iSettings; - - // To determine if user has arrived to destination - static TBool iHasArrived; - - //variable to check wheather user arrived to destination - TBool iTimeFirstArrived; - - //Boolean to determine whether the arrived tone has palyed/not - static TBool iHasToPlayArrivedTone; - - /// Own: Metric distance functionality text string - HBufC* iDistanceFormatKm; - - /// Own: Metric distance functionality text string - HBufC* iDistanceFormatM; - - /// Own: Imperial distance functionality text string - HBufC* iDistanceFormatMiles; - - /// Own: Imperial distance functionality text string - HBufC* iDistanceFormatFt; - - /// Own: Duration functionality text string - HBufC* iDurationFormatLong; - - /// Distance variable - TReal32 iDistance; - - /// Duration variable - TTime iDuration; - - /// Duration in days - TInt iDurationInDays; - - /// Duration in seconds - TReal64 iDurationInSeconds; - - /// Own: Speed's title text string - HBufC* iBlidSpeed; - - /// Speed variable - TReal iSpeed; - - /// Is speed data available - TBool iIsSpeed; - - /// Own: Metric speed's format text string - HBufC* iSpeedFormatKmph; - - /// Own: Imperial speed's format text string - HBufC* iSpeedFormatMph; - - // Own: No Data indicator - HBufC* iDataBeingCalculated; - - // Own: No Data indicator - HBufC* iDataBlank; - - - TBool iIsDestinationSet; - - CAlfCurvePath* iCurvePath; - - CAlfCurvePathLayout* iCurveLayout; - - HBufC8* iFlagText; - HBufC8* iAccText; - - CAlfImageVisual* iFlagVisual; - - CAlfImageVisual* iAccVisual; - - CAlfImageVisual* iNorthVisual; - - CAlfDeckLayout* idecLayout; - - CAlfDeckLayout* iNdecLayout; - - TReal iHeading; - - TRect iAccuracyRingRect; - - TPoint* iCharPoint; - - CAlfDeckLayout* iAccLayout; - - CPeriodic* iTimer; - - TInt iIsFirstDistance; - TReal32 iFirstDistance; - HBufC* iImagePath; - TSize iCurveSize; - TSize iFlagSize; - TSize iAccuracyringcurveSize; - - CAlfDeckLayout* iCurveDecLyt; - - CAlfAnchorLayout* iIndiAccAnchor; - - CAlfImageVisual* iIndicatorVisual; - - CAlfDeckLayout* iFlagdeck; - - CAlfDeckLayout* iActualNdeck; - - CBlidArrivedTonePlayerUtility* iToneUtility; - - TBool isStopUpdate; - - CAlfAnchorLayout* iPopUpLayout; - - CAlfTextVisual* iPopUpMsg; - - CAlfImageVisual* iPopImage; - - TBool isSatelliteInfoLaunch; - - CAlfDeckLayout* iPopupDeck; - - CAlfFrameBrush* iFrameBrush; - - CAlfAnchorLayout* iPopUpAnchor; - - TRgb iVisualColor; - - TBool iMskInfoVisible; - - CAlfImageVisual* iNavigationRing; - - CPeriodic* iPeriodic; // periodic timer active object - TInt iDisplayIcon; // Current svg animation icon - RPointerArray iTextures; - RPointerArray iPopupTextures; - RPointerArray iSignalTextures; - CAlfTexture* iAccTexture; - CAlfTexture* iPopupImgTexture; - - MAlfBitmapProvider* iProvider; - - TRect iSignalStrengthRect; - - TRect iLmkNameRect; - - TRect iDistanceRect; - - TRect iSpeedBgRect; - - TRect iSpeedRect; - - TRect iSpdFormatRect; - - TRect iNavRingBgRect; - - TRect iAccRingRect; - - TRect iDirectionIndRect; - - TRect iNorthRect; - - TRect iFlagRect; - - CAknStylusPopUpMenu* iMenu; - - TBool isDeviceUnavailableDisplayed; - public: - TBool iTimerComplete; - static TBool iInArrivedZone; - TBool iIsDownPressed; - }; - -#endif // __CHTKNAVIGATIONCONTROL_H__