uiacceltk/hitchcock/tsrc/alfperfapp/inc/alfperfappsuiteepgcontrol.h
author hgs
Wed, 03 Nov 2010 19:29:22 +0200
changeset 64 9f8c0686fb49
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef __ALFPERFAPPSUITEEPGCONTROL_H__
hgs
parents:
diff changeset
    19
#define __ALFPERFAPPSUITEEPGCONTROL_H__
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// INCLUDES
hgs
parents:
diff changeset
    22
#include <alf/alfcontrol.h>
hgs
parents:
diff changeset
    23
#include "alfperfappsuiteflags.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    26
class CAlfLayout;
hgs
parents:
diff changeset
    27
class CAlfPerfAppSuiteTestCaseScroll;
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// CLASS DECLARATIONS
hgs
parents:
diff changeset
    30
class TProgram
hgs
parents:
diff changeset
    31
	{
hgs
parents:
diff changeset
    32
	public:
hgs
parents:
diff changeset
    33
		/**
hgs
parents:
diff changeset
    34
		 * C++ constructor.
hgs
parents:
diff changeset
    35
		 */		
hgs
parents:
diff changeset
    36
		TProgram();
hgs
parents:
diff changeset
    37
		
hgs
parents:
diff changeset
    38
		/**
hgs
parents:
diff changeset
    39
		 * C++ constructor.
hgs
parents:
diff changeset
    40
		 * @param aName Name of the program.
hgs
parents:
diff changeset
    41
		 * @param aStart Start time of the program.
hgs
parents:
diff changeset
    42
		 * @param aEnd End time of the program.
hgs
parents:
diff changeset
    43
		 */		
hgs
parents:
diff changeset
    44
		TProgram( const TDesC& aName, const TDesC& aStart, const TDesC& aEnd );
hgs
parents:
diff changeset
    45
		
hgs
parents:
diff changeset
    46
	public:
hgs
parents:
diff changeset
    47
		
hgs
parents:
diff changeset
    48
		/**
hgs
parents:
diff changeset
    49
		 * Calculates the duration of the program.
hgs
parents:
diff changeset
    50
		 * @return duration of the program.
hgs
parents:
diff changeset
    51
		 */
hgs
parents:
diff changeset
    52
		TInt DurationInMinutes();
hgs
parents:
diff changeset
    53
		
hgs
parents:
diff changeset
    54
	public:
hgs
parents:
diff changeset
    55
		/**
hgs
parents:
diff changeset
    56
		 * Name of the program.
hgs
parents:
diff changeset
    57
		 */
hgs
parents:
diff changeset
    58
		TBuf<100> iName;
hgs
parents:
diff changeset
    59
		
hgs
parents:
diff changeset
    60
		/**
hgs
parents:
diff changeset
    61
		 * Start time.
hgs
parents:
diff changeset
    62
		 */
hgs
parents:
diff changeset
    63
		TTime iStart;
hgs
parents:
diff changeset
    64
		
hgs
parents:
diff changeset
    65
		/**
hgs
parents:
diff changeset
    66
		 * End time.
hgs
parents:
diff changeset
    67
		 */
hgs
parents:
diff changeset
    68
		TTime iEnd;
hgs
parents:
diff changeset
    69
	};
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
class CAlfPerfAppSuiteEPGControl : public CAlfControl, public MAlfTextureLoadingCompletedObserver
hgs
parents:
diff changeset
    72
    {
hgs
parents:
diff changeset
    73
	private: // Enums
hgs
parents:
diff changeset
    74
		
hgs
parents:
diff changeset
    75
		/**
hgs
parents:
diff changeset
    76
		 * Textstyles used in EGP.
hgs
parents:
diff changeset
    77
		 */
hgs
parents:
diff changeset
    78
		enum TTextStyle
hgs
parents:
diff changeset
    79
			{
hgs
parents:
diff changeset
    80
			ETextStyleTitle = 0,
hgs
parents:
diff changeset
    81
			ETextStyleTime,
hgs
parents:
diff changeset
    82
			ETextStyleProgram,
hgs
parents:
diff changeset
    83
			ENumberOfTextStyles
hgs
parents:
diff changeset
    84
			};
hgs
parents:
diff changeset
    85
	
hgs
parents:
diff changeset
    86
	public: // Construction and desctruction
hgs
parents:
diff changeset
    87
		
hgs
parents:
diff changeset
    88
		/**
hgs
parents:
diff changeset
    89
		 * C++ constuctor.
hgs
parents:
diff changeset
    90
		 * @param aScrollControl is used as observer
hgs
parents:
diff changeset
    91
		 */ 
hgs
parents:
diff changeset
    92
		CAlfPerfAppSuiteEPGControl(CAlfPerfAppSuiteTestCaseScroll* aScrollControl);
hgs
parents:
diff changeset
    93
		
hgs
parents:
diff changeset
    94
		/**
hgs
parents:
diff changeset
    95
		 * Destructor.
hgs
parents:
diff changeset
    96
		 */
hgs
parents:
diff changeset
    97
		~CAlfPerfAppSuiteEPGControl();
hgs
parents:
diff changeset
    98
		
hgs
parents:
diff changeset
    99
		/**
hgs
parents:
diff changeset
   100
		 * Second-phase constructor.
hgs
parents:
diff changeset
   101
		 * @param aEnv Alf environment.
hgs
parents:
diff changeset
   102
		 * @param aVisibleArea Visible screen area.
hgs
parents:
diff changeset
   103
		 * @param aParentLayout Parent layout.
hgs
parents:
diff changeset
   104
		 */		
hgs
parents:
diff changeset
   105
	    virtual void ConstructL( 
hgs
parents:
diff changeset
   106
	        CAlfEnv& aEnv, 
hgs
parents:
diff changeset
   107
	        const TSize& aVisibleArea,
hgs
parents:
diff changeset
   108
	        CAlfLayout* aParentLayout );
hgs
parents:
diff changeset
   109
	    
hgs
parents:
diff changeset
   110
	private: // New functions
hgs
parents:
diff changeset
   111
#ifdef ENABLE_TEXTSTYLES		
hgs
parents:
diff changeset
   112
		void CreateTextStylesL();
hgs
parents:
diff changeset
   113
#endif
hgs
parents:
diff changeset
   114
		void AddRowL( 
hgs
parents:
diff changeset
   115
				CAlfLayout* aParentLayout,
hgs
parents:
diff changeset
   116
				TAlfImage& aChannelImage,
hgs
parents:
diff changeset
   117
				RArray<TProgram>& aPrograms,
hgs
parents:
diff changeset
   118
				const TTime& aTimeWindowStart,
hgs
parents:
diff changeset
   119
				const TTime& aTimeWindowEnd,
hgs
parents:
diff changeset
   120
				TInt aTextStyle,
hgs
parents:
diff changeset
   121
				TBool aSetBorders = ETrue
hgs
parents:
diff changeset
   122
				);
hgs
parents:
diff changeset
   123
		
hgs
parents:
diff changeset
   124
		void AddProgramsL( 
hgs
parents:
diff changeset
   125
				CAlfLayout* aParentLayout,
hgs
parents:
diff changeset
   126
				RArray<TProgram>& aPrograms,
hgs
parents:
diff changeset
   127
				const TTime& aTimeWindowStart,
hgs
parents:
diff changeset
   128
				const TTime& aTimeWindowEnd,
hgs
parents:
diff changeset
   129
				TInt aTextStyle,
hgs
parents:
diff changeset
   130
				TBool aSetBorders
hgs
parents:
diff changeset
   131
				);		
hgs
parents:
diff changeset
   132
	   
hgs
parents:
diff changeset
   133
	    // From base class MAlfTextureLoadingCompletedObserver
hgs
parents:
diff changeset
   134
	    void TextureLoadingCompleted(
hgs
parents:
diff changeset
   135
	            CAlfTexture& aTexture,
hgs
parents:
diff changeset
   136
	            TInt aTextureId,
hgs
parents:
diff changeset
   137
	            TInt aErrorCode );
hgs
parents:
diff changeset
   138
	    
hgs
parents:
diff changeset
   139
	private:
hgs
parents:
diff changeset
   140
		TSize iVisibleArea;
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
		/**
hgs
parents:
diff changeset
   143
		 * count of the number of loaded textures
hgs
parents:
diff changeset
   144
		 */
hgs
parents:
diff changeset
   145
		TInt iLoadedImages;
hgs
parents:
diff changeset
   146
		
hgs
parents:
diff changeset
   147
		/**
hgs
parents:
diff changeset
   148
		 * Used for callback.
hgs
parents:
diff changeset
   149
		 * Not owned.
hgs
parents:
diff changeset
   150
		 */
hgs
parents:
diff changeset
   151
		CAlfPerfAppSuiteTestCaseScroll* iScrollControl;
hgs
parents:
diff changeset
   152
		
hgs
parents:
diff changeset
   153
#ifdef ENABLE_TEXTSTYLES		
hgs
parents:
diff changeset
   154
		RArray<TInt> iTextStyles;
hgs
parents:
diff changeset
   155
#endif
hgs
parents:
diff changeset
   156
    };
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
#endif // __ALFPERFAPPSUITEEPGCONTROL_H__
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
// end of file