diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/tsrc/alfperfapp/inc/alfperfappsuiteepgcontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/tsrc/alfperfapp/inc/alfperfappsuiteepgcontrol.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,160 @@ +/* +* Copyright (c) 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: +* +*/ + +#ifndef __ALFPERFAPPSUITEEPGCONTROL_H__ +#define __ALFPERFAPPSUITEEPGCONTROL_H__ + +// INCLUDES +#include +#include "alfperfappsuiteflags.h" + +// FORWARD DECLARATIONS +class CAlfLayout; +class CAlfPerfAppSuiteTestCaseScroll; + +// CLASS DECLARATIONS +class TProgram + { + public: + /** + * C++ constructor. + */ + TProgram(); + + /** + * C++ constructor. + * @param aName Name of the program. + * @param aStart Start time of the program. + * @param aEnd End time of the program. + */ + TProgram( const TDesC& aName, const TDesC& aStart, const TDesC& aEnd ); + + public: + + /** + * Calculates the duration of the program. + * @return duration of the program. + */ + TInt DurationInMinutes(); + + public: + /** + * Name of the program. + */ + TBuf<100> iName; + + /** + * Start time. + */ + TTime iStart; + + /** + * End time. + */ + TTime iEnd; + }; + +class CAlfPerfAppSuiteEPGControl : public CAlfControl, public MAlfTextureLoadingCompletedObserver + { + private: // Enums + + /** + * Textstyles used in EGP. + */ + enum TTextStyle + { + ETextStyleTitle = 0, + ETextStyleTime, + ETextStyleProgram, + ENumberOfTextStyles + }; + + public: // Construction and desctruction + + /** + * C++ constuctor. + * @param aScrollControl is used as observer + */ + CAlfPerfAppSuiteEPGControl(CAlfPerfAppSuiteTestCaseScroll* aScrollControl); + + /** + * Destructor. + */ + ~CAlfPerfAppSuiteEPGControl(); + + /** + * Second-phase constructor. + * @param aEnv Alf environment. + * @param aVisibleArea Visible screen area. + * @param aParentLayout Parent layout. + */ + virtual void ConstructL( + CAlfEnv& aEnv, + const TSize& aVisibleArea, + CAlfLayout* aParentLayout ); + + private: // New functions +#ifdef ENABLE_TEXTSTYLES + void CreateTextStylesL(); +#endif + void AddRowL( + CAlfLayout* aParentLayout, + TAlfImage& aChannelImage, + RArray& aPrograms, + const TTime& aTimeWindowStart, + const TTime& aTimeWindowEnd, + TInt aTextStyle, + TBool aSetBorders = ETrue + ); + + void AddProgramsL( + CAlfLayout* aParentLayout, + RArray& aPrograms, + const TTime& aTimeWindowStart, + const TTime& aTimeWindowEnd, + TInt aTextStyle, + TBool aSetBorders + ); + + // From base class MAlfTextureLoadingCompletedObserver + void TextureLoadingCompleted( + CAlfTexture& aTexture, + TInt aTextureId, + TInt aErrorCode ); + + private: + TSize iVisibleArea; + + /** + * count of the number of loaded textures + */ + TInt iLoadedImages; + + /** + * Used for callback. + * Not owned. + */ + CAlfPerfAppSuiteTestCaseScroll* iScrollControl; + +#ifdef ENABLE_TEXTSTYLES + RArray iTextStyles; +#endif + }; + +#endif // __ALFPERFAPPSUITEEPGCONTROL_H__ + +// end of file