locationsystemui/locationsysui/locblidsatelliteinfo/inc/satellitecontrol.h
changeset 0 667063e416a2
child 13 19bff11d6c18
equal deleted inserted replaced
-1:000000000000 0:667063e416a2
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *     Implements the control for responsible for all drawings
       
    16 *     in the satellite dialog
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef __SATELLITE_CONTROL_H__
       
    22 #define __SATELLITE_CONTROL_H__
       
    23 
       
    24 // INCLUDE FILES
       
    25 #include <AknLayoutDef.h>
       
    26 #include <AknUtils.h>
       
    27 #include "SatInfoConsts.h"
       
    28 #include "MSatelliteEng.h"
       
    29 
       
    30 // FORWARD DECLARATION
       
    31 class CAknsFrameBackgroundControlContext;
       
    32 
       
    33 // CLASS DECLARATION
       
    34 NONSHARABLE_CLASS( CSatelliteControl ) : public CCoeControl
       
    35 	{
       
    36 	public:
       
    37 		/**
       
    38         * Constructor.
       
    39         */
       
    40         static CSatelliteControl* NewL( MSatelliteEng& aEngine );
       
    41         
       
    42     public: 
       
    43         // Destructor
       
    44         ~CSatelliteControl();
       
    45                 
       
    46     private:
       
    47         void ConstructL(  );
       
    48         // Default Constructor
       
    49         CSatelliteControl(MSatelliteEng& aEngine);
       
    50     
       
    51     
       
    52     public: 
       
    53     	void ConstructFromResourceL(TResourceReader& aReader);
       
    54 		TSize MinimumSize();
       
    55 		TCoeInputCapabilities InputCapabilities() const;
       
    56 		TAknWindowLineLayout WindowLayout() const;
       
    57 		TRect CalculateDialogRect() const;
       
    58 		void Layout();
       
    59 		void ChangeView();
       
    60 		void SetLaunchView(TSatDialogView aView);	
       
    61 		
       
    62 
       
    63         #ifdef RD_SCALABLE_UI_V2
       
    64         //Implementated for stylus pop-up menu implementation
       
    65         void HandlePointerEventL(const TPointerEvent& aPointerEvent);
       
    66         #endif // RD_SCALABLE_UI_V2
       
    67         
       
    68     protected: // from CCoeControl
       
    69         /**
       
    70         * Count component controls.
       
    71         * @return Number of component controls.
       
    72         */
       
    73         TInt CountComponentControls() const;
       
    74 
       
    75         /**
       
    76         * Get a component control by index.
       
    77         * @param aIndex Index of component control to be returned.
       
    78         * @return Component control or NULL.
       
    79         */
       
    80         CCoeControl* ComponentControl( TInt aIndex ) const;
       
    81 
       
    82         /**
       
    83         * Handle focus change.
       
    84         * @param aDrawNow EDrawNow if draw the control now else ENoDrawNow
       
    85         */
       
    86         void FocusChanged( TDrawNow aDrawNow );
       
    87 
       
    88         /*
       
    89         * @see CCoeControl
       
    90         */
       
    91         
       
    92         TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
       
    93 
       
    94 	protected:  // from CCoeControl
       
    95 
       
    96         /**
       
    97         * Handle size change, lay out components.
       
    98         */
       
    99         void SizeChanged();
       
   100 		void Draw(const TRect& aRect) const;
       
   101 		
       
   102 	private: //new function
       
   103 		TSize DialogSize() const;
       
   104 		TRect DialogRect() const;
       
   105 		void DrawHeadingL() const;
       
   106 		void DrawSignalStrengthViewL() const;
       
   107 		void DrawGraphicalViewL() const;
       
   108 		void DrawEmptyDialogL() const;
       
   109 		void PrepareGraphicalViewIcons();		
       
   110 		void PrepareSignalStrengthViewIcons();
       
   111 		void PrepareSignalStrengthViewRectsAndIcons();
       
   112 		void PrepareGraphicalViewRectsAndIcons();
       
   113 		TRect CalculateCelestialBodyRectL(const TReal aAzimuth, const TReal aElevation, const TSize aIconSize) const;
       
   114 		TInt TRealToTInt( const TReal aSrc, TInt& aResult ) const;
       
   115 		
       
   116 		// New functions added for Compass View
       
   117 		void DrawCompassViewL() const;
       
   118 		void PrepareCompassViewIcons();
       
   119 		void PrepareCompassViewRectsAndIcons();
       
   120 	
       
   121 	private: //data
       
   122     	CAknsFrameBackgroundControlContext* iEditorContext;
       
   123     	TInt iCurrentSatelliteView;
       
   124     	MSatelliteEng& iEngine;
       
   125     	
       
   126     	
       
   127     	//Heading text;
       
   128     	HBufC* iSatelliteSignalHeading;
       
   129     	HBufC* iSatelliteGrapgicHeading;
       
   130     	HBufC* iNoSatelliteData;
       
   131     	HBufC* iCompassViewHeading;
       
   132 
       
   133     	TInt iNumberOfRows;
       
   134     	TInt iNumberOfColumns;
       
   135     	    	
       
   136     	// Private data for Signal Strength view    	
       
   137     	RArray<TRect> iSignalBarRects;
       
   138     	RArray<TAknLayoutText> iSatelliteNumberLayouts;
       
   139     	CFbsBitmap* iSatActiveBmp;
       
   140     	CFbsBitmap* iSatActiveBmpMask;
       
   141     	CFbsBitmap* iSatInActiveBmp;
       
   142     	CFbsBitmap* iSatInActiveBmpMask;
       
   143     	CFbsBitmap* iSatFrame;
       
   144     	CFbsBitmap* iSatFrameMask;
       
   145     	
       
   146     	// Private Data for Graphical view
       
   147     	TRect iSatelliteRect;
       
   148     	TRect iSunMoonRect;    	
       
   149     	TRect iFirmamentRect;    	
       
   150     	TAknLayoutText iCardinalNLayout;
       
   151 		TAknLayoutText iCardinalSLayout;
       
   152 		TAknLayoutText iCardinalWLayout;
       
   153 		TAknLayoutText iCardinalELayout;
       
   154 		TRect iSatelliteNoRect;
       
   155     	CFbsBitmap* iFirmamentBmp;
       
   156     	CFbsBitmap* iFirmamentBmpMask;
       
   157     	CFbsBitmap* iFirmaActiveBmp;
       
   158     	CFbsBitmap* iFirmaActiveBmpMask;
       
   159     	CFbsBitmap* iFirmaInActiveBmp;
       
   160     	CFbsBitmap* iFirmaInActiveBmpMask;
       
   161 		CFbsBitmap* iMoonBmp;
       
   162     	CFbsBitmap* iMoonBmpMask;
       
   163     	CFbsBitmap* iSunBmp;
       
   164     	CFbsBitmap* iSunBmpMask;
       
   165     	HBufC* iNorth;
       
   166     	HBufC* iSouth;
       
   167     	HBufC* iWest;
       
   168     	HBufC* iEast;    	
       
   169     	
       
   170     	// Private Data for Compass view
       
   171     	TRect iFirmamentCompassRect;
       
   172     	TRect iTypeRect;  
       
   173     	TAknLayoutText iCardinalCompassNLayout;
       
   174 		TAknLayoutText iCardinalCompassSLayout;
       
   175 		TAknLayoutText iCardinalCompassWLayout;
       
   176 		TAknLayoutText iCardinalCompassELayout;
       
   177 		TAknLayoutText iLatitudeWindowLayout;
       
   178 		TAknLayoutText iLongitudeWindowLayout;
       
   179 		TAknLayoutText iAltitudeWindowHeadingLayout;
       
   180 		TAknLayoutText iSpeedWindowHeadingLayout;
       
   181 		TAknLayoutText iDirectionWindowHeadingLayout;
       
   182 		TAknLayoutText iAltitudeWindowValueLayout;
       
   183 		TAknLayoutText iSpeedWindowValueLayout;
       
   184 		TAknLayoutText iDirectionWindowValueLayout;
       
   185 		TAknLayoutText iFixTypeLayout;
       
   186     	CFbsBitmap* iFirmamentCompassBmp;
       
   187     	CFbsBitmap* iFirmamentCompassBmpMask;		
       
   188 		CFbsBitmap* iFixBmp;
       
   189     	CFbsBitmap* iFixBmpMask;
       
   190     	HBufC* iAltitudeWindowHeading;
       
   191     	HBufC* iSpeedWindowHeading;
       
   192     	HBufC* iDirectionWindowHeading;
       
   193     	HBufC* iSpeedFormatKmph;
       
   194     	HBufC* iSpeedFormatMph;
       
   195     	HBufC* iAltitudeFormatM;
       
   196     	HBufC* iAltitudeFormatFt;
       
   197     	HBufC* iDirectionFormat;
       
   198     	HBufC* iCompassNorth;
       
   199     	HBufC* iCompassSouth;
       
   200     	HBufC* iCompassWest;
       
   201     	HBufC* iCompassEast; 
       
   202     	HBufC* i2DString;
       
   203     	HBufC* i3DString; 
       
   204     	
       
   205 	};
       
   206 
       
   207 #endif // __SATELLITE_CONTROL_H__
       
   208 
       
   209 
       
   210 
       
   211