windowing/windowserver/test/tauto/TORDINAL.H
changeset 103 2717213c588a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/test/tauto/TORDINAL.H	Tue Jun 22 15:21:29 2010 +0300
@@ -0,0 +1,134 @@
+
+// Copyright (c) 1996-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
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+
+#ifndef __TORDINAL_H__
+#define __TORDINAL_H__
+
+#include <e32std.h>
+#include <w32std.h>
+#include "../tlib/testbase.h"
+#include "AUTO.H"
+#include "TGraphicsHarness.h"
+
+class CTOrdinal;
+
+class COrdinalClient : public CTClient
+	{
+public:
+	COrdinalClient();
+	virtual void KeyL(const TKeyEvent &aKey,const TTime &aTime);
+	virtual void ConstructL();
+	~COrdinalClient();
+	};
+
+class COrdinalWindowBase : public CBase
+	{
+public:
+	COrdinalWindowBase(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
+	~COrdinalWindowBase();
+	TInt OrdinalPosition();
+	void SetOrdinalPosition(TInt aPos);
+	void SetOrdinalPosition(TInt aPos,TInt aPri);
+	virtual void Draw();
+	void TestOP(TInt aTestPos);
+	TInt SetToLastAndGetOP();
+	TInt SetToLastAndGetOPPri(TInt aPri);
+	void SetAndTestOP(TInt aPos);
+	void SetAndTestOP(TInt aPos,TInt aTestPos);
+	void SetAndTestOPPri(TInt aPos,TInt aPri,TInt aTestPos);
+	void SetAndTestOPPri(TInt aPos,TInt aPri);
+	inline COrdinalWindowBase* NextSibling() const;
+	inline COrdinalWindowBase* PrevSibling() const;
+	inline RWindowTreeNode* WinTreeNode();
+	inline TUint32 Handle();
+protected:
+	RWindowTreeNode* iWin;
+private:
+	CTClient* iClient;
+	CTestBase* iTest;
+	CTestStep* iTestStep;
+	};
+
+class COrdinalWindow : public COrdinalWindowBase
+	{
+public:
+	COrdinalWindow(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
+	static COrdinalWindowBase *NewL(CTClient *aClient, RWindowTreeNode *parent, CTestBase* aTest, CTestStep* aTestStep);
+private:
+	RWindow iClientWin;
+	};
+
+class COrdinalWindowGroup : public COrdinalWindowBase
+	{
+public:
+	COrdinalWindowGroup(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
+	static COrdinalWindowBase *NewL(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
+private:
+	RWindowGroup iGroupWin;
+	};
+
+class CTOrdinal : public CTWsGraphicsBase
+	{
+public:
+	CTOrdinal(CTestStep* aStep);
+	~CTOrdinal();
+	void DestroyWindows();
+	void OrdinalPos();
+	void OrdinalPriority();
+	void ConstructL();
+	void CreateWindowsL(TInt aMode);
+protected: //virtual function from CTGraphicsStep
+	void RunTestCaseL(TInt aCurTestCase);
+private:
+	void TestWindowOrderNext(TInt aBefore,TInt aAfter);
+	void TestWindowOrderNext(TInt aLast);
+	void TestWindowOrderPrev(TInt aAfter,TInt aBefore);
+	void TestWindowOrderPrev(TInt aFirst);
+	void CheckHandlesOnNewWindow(CTWindowGroup* aParent,COrdinalWindowBase* aWin);
+	void CheckHandlesOnNewWindow(COrdinalWindowBase* aParent,COrdinalWindowBase* aWin);
+	void CheckHandlesOnNewWindow(TInt aErrors,COrdinalWindowBase* aWin);
+	void CheckHandles(TUint aParent);
+private:
+	enum {ENumChildren=6};
+private:
+	COrdinalClient* iClient;
+	TSize iWinSize;
+	TBool iGroupTest;
+	COrdinalWindowBase* iParent;
+	COrdinalWindowBase* iParent2;
+	COrdinalWindowBase* iParent3;
+	COrdinalWindowBase* iChild[ENumChildren];
+	};
+
+class CTOrdinalStep : public CTGraphicsStep
+	{
+public:
+	CTOrdinalStep();
+protected:	
+	//from CTGraphicsStep
+	virtual CTGraphicsBase* CreateTestL();
+	};
+
+_LIT(KTOrdinalStep,"TOrdinal");
+
+
+#endif