diff -r 1fc85118c3ae -r 870918037e16 basiclocationinfodisplay/blid/ui/inc/CBlidSatelliteControl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/basiclocationinfodisplay/blid/ui/inc/CBlidSatelliteControl.h Wed Sep 01 12:31:27 2010 +0100 @@ -0,0 +1,165 @@ +/* +* Copyright (c) 2007 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 startup view's control class definition. +* +*/ + + + +#ifndef __CBlidSatelliteControl_H__ +#define __CBlidSatelliteControl_H__ + +// SYSTEM INCLUDES +#include + +// USER INCLUDE +// INCLUDES +//#include "CBlidBaseContainer.h" +//#include "CBlidBaseView.h" + +//FORWARD DCLERATION +class CAlfEnv; +class CBlidBaseView; +class MBlidLocation; +class CAlfAnchorLayout; +class CAlfTextVisual; +class CAlfDeckLayout; +class CAlfTextStyle; +class CAknNavigationDecorator; +class CAlfImageLoaderUtil; +class CAlfImageVisual; +class CAlfTexture; + +/*! + @class CBlidSatelliteControl + + @discussion + */ +class CBlidSatelliteControl : public CAlfControl + { + public: + /*! + @function NewL + + @discussion Create a CBlidSatelliteControl object, which will draw itself to aRect + * Two-phased constructor + * @param aKeyProcessor + * @param aParent + * @param aRect A rectangle for drawing. + * @return The newly created object. + + @result a pointer to the created instance of CBlidSatelliteControl + */ + static CBlidSatelliteControl* NewL( CAlfEnv& aEnv, + const TRect& aRect, + CBlidBaseView& aView ); + + /*! + @function ~CBlidSatelliteControl + + @discussion Destroy the object and release all memory objects + */ + ~CBlidSatelliteControl(); + + + private: + /*! + @function CBlidSatelliteControl + + @discussion Perform the first phase of two phase construction + */ + CBlidSatelliteControl( CAlfEnv& aEnv, + CBlidBaseView& aView ); + + /*! + @function ConstructL + + @discussion Perform the second phase construction of a CBlidSatelliteControl object + */ + void ConstructL( const TRect& aRect ); + + /** + * Enumerations for signal strength + */ + enum TBlidSignalStrength + { + EBlidSignalStrengthZero, + EBlidSignalStrengthOne, + EBlidSignalStrengthTwo, + EBlidSignalStrengthThree, + EBlidSignalStrengthFour + }; + + public: + void UpdateL(); + void MakeTitleL( TInt aResourceText ); + void SetErrorCode( TInt aErrorCode ); + void SetOnlineMode( TBool aOnlineMode ); + void CreateNaviPaneL( const TDesC& aText ); + void ChangeNavigationViewL(); + void UpdateDisplayLayoutL(); + + + private: + void CreateGlobeVisualL( ); + void CreateSatelliteSignalVisualsL( ); + void CreateSignalLayoutL( CAlfTextStyle* aStyle, TRgb aRgb ); + void DisplaySatellitesRowL( const TDesC& aSatNo, + CAlfImageVisual* aImageVisual, + CAlfTextVisual* aTextVisual, + TInt aIndex ); + + void ChangeSoftKeyL(); + void CalculateRects(); + void SetAnchors(); + static TInt Tick(TAny* aObject); // functions for TCallBack protocol + void UpdateGlobeVisual(); + + private: + CEikStatusPane* StatusPane(); + + private: + /// Reference to the view to handle resource change + CAlfEnv& iEnv; + CBlidBaseView& iView; + TInt iErrorCode; + TBool iOnlineMode; + CAlfAnchorLayout* iMainAnchorLayout; + CAlfDeckLayout* iGlobeDeckLayout; + CAlfDeckLayout* iSatelliteBarDeckLayout; + CAlfDeckLayout* iFlowDeckOne; + CAlfDeckLayout* iFlowDeckTwo; + CAlfImageVisual* iSatelliteVisual[8]; + CAlfImageVisual* iSignalStrengthRowOne[17]; + CAlfTextVisual* iSatNoRowOne[17]; + CAknNavigationDecorator* iNavimessage; + MBlidLocation* iLocation; + HBufC* iImagePath; + CPeriodic* iTimer; + HBufC* iAvailableNoteText; + HBufC* iSearchNoteText; + + RArray iSignalBarRects; + RArray iSatelliteNumberRects; + + CPeriodic* iPeriodic; // periodic timer active object + TInt iDisplayIcon; // Current svg animation icon + CAlfImageVisual* iAnimationVisual; + RPointerArray iTextures; + + TRect iGlobeRect; + TRect iSatGridRect; + }; + +#endif // __CBlidSatelliteControl_H__