lafagnosticuifoundation/cone/tef/TCone6Step.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/tef/TCone6Step.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,193 @@
+// 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:
+//
+
+/**
+ @file 
+ @internalComponent - Internal Symbian test code 
+*/
+
+
+#if !defined(__TCONE6STEP_H__)
+#define __TCONE6STEP_H__
+
+#include <test/testexecutestepbase.h>
+#include "TConeTestServer.h"
+#include "appfwk_test_AppUi.h"
+#include <coecntrl.h>
+
+//! A CCoeControl derived Class.\n
+/**
+  Base class used to derive CCtlContainer and CCtlContainee classes.\n
+*/
+class CCtlBase : public CCoeControl
+	{
+public:
+	~CCtlBase();
+protected:
+	CCtlBase();
+	void WriteName( CWindowGc& aGc, const TDesC& aText ) const ;
+	void ConstructL() ;
+	void DoDraw( CWindowGc& aGc, TRect aRect ) const ;	
+protected:
+	HBufC* iName;
+private:
+    CFont* iFont;
+	};
+
+//! A CTestStep Derived Class.\n
+/**
+  Incorporates the tests on component-container control interface.\n
+*/
+class CTCone6Step : public CTmsTestStep
+	{
+public:
+	CTCone6Step();
+	~CTCone6Step();
+	virtual TVerdict doTestStepL();
+	void ConstructAppL(CCoeEnv* aCoe);
+	};
+	
+//! A CCtlBase Derived Class.\n
+/**
+  Implements the containee class.\n
+*/	
+class CCtlContainee : public CCtlBase
+	{
+public:
+	CCtlContainee() ;
+	~CCtlContainee() ;
+	void ConstructL( const TDesC& aName ) ;
+	const TDesC& WhoAmI() const ;
+private:
+	void Draw(const TRect& aRect) const ;
+	
+	};
+	
+//! A CCtlContainee Derived Class.\n
+/**
+  Implements the containee class but cannot get any parent.\n
+*/	
+class CCtlUnparentableContainee : public CCtlContainee
+	{
+public: //from CCtlContainee
+	TInt SetParent(CCoeControl* /*aParent*/) { return KErrNotSupported; }
+	};
+
+//! A CCtlBase Derived Class.\n
+/**
+  Implements the container class.\n
+*/	
+class CCtlContainer : public CCtlBase
+	{
+public:
+	CCtlContainer();
+	~CCtlContainer();
+	void ConstructL(const TDesC& aName);
+	TBool TestRemoveControlById();
+	TBool TestCleanupL();
+	TBool TestGetControlL();
+	TBool TestGetControlConstL() const;
+	TBool TestGetUnknownControlConstL() const ;
+	TBool TestAddDuplicateControlL() ;
+	TBool TestRemoveNonExistantById() ;
+	TBool TestRemoveControlL() ;
+	TBool TestGetUnsetUniqueHandle() ;
+	TBool TestSetUniqueHandle() ;
+	TBool TestGetUniqueHandle() ;
+	TBool TestSetUniqueHandleOOM() ;
+	TBool TestInsertAfter(); 
+	TBool TestInsertLast();
+	TBool TestFailingInsertAfter();
+	TBool TestId();
+	TBool TestCursor();
+	TBool TestFind();
+	TBool TestRemove();
+	TBool TestReplace();
+	TBool TestSetArrayLocked();
+	TBool TestSort();
+	TBool TestOwnedExternally();
+	void TestHandleDestructionOfFocusedItemL();
+	static TInt CompareControls(const TCoeControlWithId& aFirst, const TCoeControlWithId& aSecond);	
+private:
+	virtual void SizeChanged() ;
+	void Draw(const TRect& aRect) const ;
+private:
+	CCtlContainee* iOrphan;
+//! Child Control Identifiers.\n
+	enum
+		{
+		KChildOneID,
+		KChildTwoID,
+		KChildThreeID,
+		KChildFourID,
+		KChildFiveID,
+		KChildSixID
+		};
+	};
+
+// A MCoeFocusObserver derived class.\n
+
+/**  
+  Implements MCoeFocusObserver derived class.\n 
+*/
+class CTestMCoeFocusObserver : public CBase, public MCoeFocusObserver
+	{
+public:
+	~CTestMCoeFocusObserver();
+	CTestMCoeFocusObserver(CCoeControl& aContainer);
+	//from MCoeFocusObserver
+	void HandleDestructionOfFocusedItem();
+	void HandleChangeInFocus();
+private:
+	CCoeControl& iCtlContainer;
+	};
+
+// A CCoecontrol derived class.\n
+
+/**  
+  Implements CCoeControl derived class.\n 
+*/
+class CParentControl : public CCoeControl
+	{
+public:
+	CCoeControlArray& Components() { return CCoeControl::Components(); }
+	void InitComponentArrayL() { CCoeControl::InitComponentArrayL(); }
+	};
+	
+//! A CTestCoeAppUi derived class.\n
+/**
+  AppUi Class for TCone6Step.\n
+*/	
+class CCone6TestAppUi : public CTestCoeAppUi
+    {
+public:
+	CCone6TestAppUi(CTmsTestStep* aStep);
+	~CCone6TestAppUi();
+	void ConstructL();
+private: // from CCoeAppUi
+	TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+private: // utility
+	void RunTestStepL(TInt aStepNum);
+	void ReinitializeContainerL();
+    //! Pointer to the container control.\n
+	CCtlContainer* iContainer ;
+    };
+
+//! TCone6 Test Step Name.\n
+_LIT(KTCone6Step,"TCone6");
+
+#endif
+
+