lafagnosticuifoundation/cone/tef/TCone5Step.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/tef/TCone5Step.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,184 @@
+// Copyright (c) 2005-2009 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:
+// Testing of function CalcTextBaselineOffset introduced by PREQ527
+// Testing of function CalcTextBaselineOffset introduced by PREQ527
+// 
+//
+
+/**
+ @file
+ @internalComponent - Internal Symbian test code
+ @SYMPREQ PREQ527
+ @file
+ @internalComponent
+ @SYMPREQ PREQ527
+*/
+
+#if !defined(__TCONE5STEP_H__)
+#define __TCONE5STEP_H__
+
+#include <coecntrl.h>
+#include <coelayoutman.h>
+#include <test/testexecutestepbase.h>
+#include "TConeTestServer.h"
+#include "appfwk_test_AppUi.h"
+//! A CTestStep Derived Class.\n
+
+/**   Incorporates the tests on Control Layout Manager support.\n  */
+
+class CTCone5Step : public CTmsTestStep
+	{
+public:
+	CTCone5Step();
+	~CTCone5Step();
+	virtual TVerdict doTestStepL();
+	void ConstructCone5AppL(CCoeEnv* aCoe);
+private:
+	};
+
+//! A Class derived from CObject and MCoeLayoutManager interface.\n
+
+/**  Implements the MCoeLayoutManager interface.\n */
+
+class CLayoutTest : public CObject, public MCoeLayoutManager
+	{
+public:
+
+	~CLayoutTest();
+
+	virtual TBool CanAttach() const;
+	virtual void AttachL(CCoeControl& aCompoundControl);
+	virtual void Detach(CCoeControl& aCompoundControl);
+	virtual TSize CalcMinimumSize(const CCoeControl& aCompoundControl) const;
+	virtual void PerformLayout();
+	virtual TInt CalcTextBaselineOffset(const CCoeControl& aCompoundControl, 
+		const TSize& aSize) const;
+	virtual void SetTextBaselineSpacing(TInt aBaselineSpacing);
+	virtual TInt TextBaselineSpacing() const;
+	virtual void HandleAddedControlL(const CCoeControl& aCompoundControl, const CCoeControl& aAddedControl);
+	virtual void HandleRemovedControl(const CCoeControl& aCompoundControl, const CCoeControl& aRemovedControl);
+	virtual TInt HandleControlReplaced(const CCoeControl& aOldControl, const CCoeControl& aNewControl);
+
+	TUint LayoutsPerformed() const;
+	
+private:
+	void  LayoutRow(TInt& aCurCtrlIndex);
+	void  FindRectangle();
+	TInt  LayoutControl(TUint aCurCtrlIndex, TSize aCtrlSize);
+	TBool SpaceForControl(TUint aMaxHeight);
+	
+private:
+	//! array containing list of component controls.\n
+	RPointerArray<CCoeControl> iCtrlArray;
+	//! Index of the Control which owns the Window.\n
+	TUint iWinOwningCtrlIndex;
+	//! Window size already allocated to controls.\n
+	TSize iSizeUsed;
+	//! Rectange to be used for allocating Controls.\n
+	TRect iLayoutRect;
+	//! Boolean to indicate if Layout is in progress.\n 
+	TBool iLayoutInProgress;
+	//! Number of controls for which layout is done.\n
+	TUint iControlsCompleted;
+	//! Number of Layouts performed.\n
+	TUint iLayoutsPerformed;
+	};
+	
+
+
+//
+//
+// CTest5Control
+//
+//
+//! A CCoeControl derived class.\n
+
+/**   The class is used to create component controls.\n */
+
+class CTest5Control : public CCoeControl
+    {
+public:
+	static CTest5Control* NewL(CLayoutTest* aLayoutMan, 
+		CCoeControl& aContainer, const TRect& aRect);
+	~CTest5Control();
+    
+private:
+	CTest5Control();
+	void ConstructL(CLayoutTest* aLayoutMan, CCoeControl& aContainer, 
+    			    const TRect& aRect);
+    // Inherited from CCoeControl
+	void Draw(const TRect& /*aRect*/) const;
+    };
+
+
+//
+//
+// CLayoutTestAppView
+//
+//
+//! A CCoeControl derived class.\n
+
+/**   View Class for TCone5Step.\n */
+
+class CLayoutTestAppView : public CCoeControl
+    {
+public:
+	static CLayoutTestAppView* NewL(CLayoutTest* aLayoutMan, const TRect& aRect);
+	
+	~CLayoutTestAppView();
+	virtual TBool RequestRelayout(const CCoeControl* aChildControl);
+	const RPointerArray<CTest5Control>& CtrlArray() const;
+    
+    
+protected:
+	CCoeControl* ComponentControl(TInt aIndex) const;
+	TInt CountComponentControls() const;
+private:
+	CLayoutTestAppView();
+	void ConstructL(CLayoutTest* aLayoutMan, const TRect& aRect);
+    // Inherited from CCoeControl
+	void Draw(const TRect& /*aRect*/) const;
+
+private:
+	//! Array containing list of component controls.\n
+	RPointerArray<CTest5Control> iCtrlArray;
+    };
+
+
+
+//! A CTestCoeAppUi derived class.\n
+
+/**   AppUi Class for TCone5Step.\n */
+
+class CCone5TestAppUi : public CTestCoeAppUi
+    {
+public:
+	CCone5TestAppUi(CTmsTestStep* aStep);
+    ~CCone5TestAppUi();
+    void ConstructL();
+	void DoTestsL();
+protected:
+	void RunTestStepL(TInt aStepNum);
+	
+private:
+	CLayoutTestAppView* iTestAppView;
+	CLayoutTest* 		iLayoutMan;
+   	};
+
+//! TCone5 Test Step Name.\n
+_LIT(KTCone5Step,"TCone5");
+
+#endif
+
+