First public contribution.
2 // Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
3 // All rights reserved.
4 // This component and the accompanying materials are made available
5 // under the terms of "Eclipse Public License v1.0"
6 // which accompanies this distribution, and is available
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 // Initial Contributors:
10 // Nokia Corporation - initial contribution.
20 @internalComponent - Internal Symbian test code
23 #ifndef __TORDINAL_H__
24 #define __TORDINAL_H__
28 #include "../tlib/testbase.h"
30 #include "TGraphicsHarness.h"
34 class COrdinalClient : public CTClient
38 virtual void KeyL(const TKeyEvent &aKey,const TTime &aTime);
39 virtual void ConstructL();
43 class COrdinalWindowBase : public CBase
46 COrdinalWindowBase(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
47 ~COrdinalWindowBase();
48 TInt OrdinalPosition();
49 void SetOrdinalPosition(TInt aPos);
50 void SetOrdinalPosition(TInt aPos,TInt aPri);
52 void TestOP(TInt aTestPos);
53 TInt SetToLastAndGetOP();
54 TInt SetToLastAndGetOPPri(TInt aPri);
55 void SetAndTestOP(TInt aPos);
56 void SetAndTestOP(TInt aPos,TInt aTestPos);
57 void SetAndTestOPPri(TInt aPos,TInt aPri,TInt aTestPos);
58 void SetAndTestOPPri(TInt aPos,TInt aPri);
59 inline COrdinalWindowBase* NextSibling() const;
60 inline COrdinalWindowBase* PrevSibling() const;
61 inline RWindowTreeNode* WinTreeNode();
62 inline TUint32 Handle();
64 RWindowTreeNode* iWin;
71 class COrdinalWindow : public COrdinalWindowBase
74 COrdinalWindow(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
75 static COrdinalWindowBase *NewL(CTClient *aClient, RWindowTreeNode *parent, CTestBase* aTest, CTestStep* aTestStep);
80 class COrdinalWindowGroup : public COrdinalWindowBase
83 COrdinalWindowGroup(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
84 static COrdinalWindowBase *NewL(CTClient *aClient, CTestBase* aTest, CTestStep* aTestStep);
86 RWindowGroup iGroupWin;
89 class CTOrdinal : public CTWsGraphicsBase
92 CTOrdinal(CTestStep* aStep);
94 void DestroyWindows();
96 void OrdinalPriority();
98 void CreateWindowsL(TInt aMode);
99 protected: //virtual function from CTGraphicsStep
100 void RunTestCaseL(TInt aCurTestCase);
102 void TestWindowOrderNext(TInt aBefore,TInt aAfter);
103 void TestWindowOrderNext(TInt aLast);
104 void TestWindowOrderPrev(TInt aAfter,TInt aBefore);
105 void TestWindowOrderPrev(TInt aFirst);
106 void CheckHandlesOnNewWindow(CTWindowGroup* aParent,COrdinalWindowBase* aWin);
107 void CheckHandlesOnNewWindow(COrdinalWindowBase* aParent,COrdinalWindowBase* aWin);
108 void CheckHandlesOnNewWindow(TInt aErrors,COrdinalWindowBase* aWin);
109 void CheckHandles(TUint aParent);
111 enum {ENumChildren=6};
113 COrdinalClient* iClient;
116 COrdinalWindowBase* iParent;
117 COrdinalWindowBase* iParent2;
118 COrdinalWindowBase* iParent3;
119 COrdinalWindowBase* iChild[ENumChildren];
122 class CTOrdinalStep : public CTGraphicsStep
127 //from CTGraphicsStep
128 virtual CTGraphicsBase* CreateTestL();
131 _LIT(KTOrdinalStep,"TOrdinal");