--- /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 <alf/alfcontrol.h>
+
+// 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<TRect> iSignalBarRects;
+ RArray<TRect> iSatelliteNumberRects;
+
+ CPeriodic* iPeriodic; // periodic timer active object
+ TInt iDisplayIcon; // Current svg animation icon
+ CAlfImageVisual* iAnimationVisual;
+ RPointerArray<CAlfTexture> iTextures;
+
+ TRect iGlobeRect;
+ TRect iSatGridRect;
+ };
+
+#endif // __CBlidSatelliteControl_H__