diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/tsrc/alfperfapp/inc/alfperfappsuitetestcasescroll.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/tsrc/alfperfapp/inc/alfperfappsuitetestcasescroll.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,180 @@ +/* +* 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 ALFPERFAPPSUITETESTCASESCROLL_H_ +#define ALFPERFAPPSUITETESTCASESCROLL_H_ + +// INLUDES +#include "AlfPerfAppSuiteTestCaseControl.h" + +// FORWARD DECLARATIONS +class CAlfImageLoaderUtil; +class CAlfImageVisual; +class CAlfViewportLayout; +class CAlfGridLayout; +class CAlfPerfAppSuiteTestCase; + +// CLASS DECLARATION +class CAlfPerfAppSuiteTestCaseScroll : public CAlfPerfAppSuiteTestCaseControl + { +private: + + enum TTextStyle + { + EPersonSuiteBig = 0, + EPersonSuiteSmall, + ENumberOfStyles + }; +public: // Construction and destrcution + + /** + * C++ constructor. + * @param aAppSuiteTestCase used as observer + */ + CAlfPerfAppSuiteTestCaseScroll(CAlfPerfAppSuiteTestCase* aAppSuiteTestCase); + + /** + * Destructor. + */ + ~CAlfPerfAppSuiteTestCaseScroll(); + + /** + * Second phase constructor. + * @param aEnv Alf environment. + * @param aCaseId Testcase id. + * @param aVisibleArea Screen area to use. + */ + virtual void ConstructL( + CAlfEnv& aEnv, TInt aCaseId, const TRect& aVisibleArea ); +public: // From CAlfPerfAppSuiteTestCaseControl + + /** + * Starts execution. + * If this method leaves, then request must not be completed. + * By default, this method completes immediately. + */ + virtual void DoStartExecuteL(); + + /** + * Handles events. + * @param aEvent event to be handled. + * @return ETrue if consumed, EFalse otherwise. + */ + virtual TBool OfferEventL( const TAlfEvent& aEvent ); + /** + * Sets visible area. + * @param aVisibleArea visible area. + */ + virtual void SetVisibleArea( const TRect& aVisibleArea ); + + /** + * Informs that all textures have been loaded. + * @param aErrorCode error code of texture loading + */ + void ImagesLoaded( TInt aErrorCode ); + +private: // New functions + + void CreateTextStylesL(); + + /** + * Starts the next animation cycle. + */ + void NextCycleL(); + + void ConstructPictureNumberSuiteL( + CAlfLayout* aParentLayout, + const TAlfImage& aImage, + const TInt aNumber ); + + void ConstructPeopleSuiteL( + CAlfLayout* aParentLayout ); + + CAlfGridLayout* ConstructPeopleSuiteListItemLayoutL( + CAlfLayout* aParentLayout, + TBool aSelected = EFalse ); + + CAlfGridLayout* ConstructPeopleSuiteListItemTextLayoutL( + CAlfLayout* aParentLayout ); + + void ConstructPeopleSuiteListHeaderL( + CAlfLayout* aParentLayout, + const TAlfImage& aImage, + const TDesC& aText ); + + void ConstructPeopleSuiteListItemL( + CAlfLayout* aParentLayout, + const TDesC& aName, + const TDesC& aDescription, + TBool aSelected = EFalse ); + +private: // Data + /** + * Cycle counter. + */ + TInt iCycleCounter; + + /** + * Image loader utility. + * Owned. + */ + CAlfImageLoaderUtil* iLoader; + + + /** + * Pointer to viewport layout. + * Not owned. + */ + CAlfViewportLayout* iViewPortLayout; + + /** + * Current viewport position. + */ + TAlfRealPoint iViewPortPos; + + TInt iSuiteWidth; + + /** + * Number of application suites in this testcase. + */ + TInt iSuiteCount; + + + /** + * Lenghts of one trasition cycle. + */ + TInt iCycleLenght; + + RArray iTextStyles; + + /** + * If it equals to iSuiteCount, + * that means all application suites have loaded their textures. + */ + TInt iLoadedImages; + + /** + * Used for callback. + * Not owned. + */ + CAlfPerfAppSuiteTestCase* iAppSuiteTestCase; + }; + +#endif /*ALFPERFAPPSUITETESTCASESCROLL_H_*/ + +// end of file +