diff -r 000000000000 -r 5d03bc08d59c windowing/windowserver/tauto/TPNTCAP.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/windowing/windowserver/tauto/TPNTCAP.H Tue Feb 02 01:47:50 2010 +0200 @@ -0,0 +1,200 @@ + +// 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 __TPNTCAP_H__ +#define __TPNTCAP_H__ + +#include +#include +#include +#include "../tlib/testbase.h" +#include "AUTO.H" +#include "TGraphicsHarness.h" + +enum TTestState + { + ECaptureDisabled=0, + ENormalCapture, + ECaptureAllGroups, + EDragDropCapture, + EDragDropCaptureAllGroups, + ENormalCaptureWithoutFocus, + }; + +enum TTestSubState + { + EMainWindow, + EChildWindow, + EOtherGroup, + EOtherSession, + ERootWindow, + }; + +enum TPointerCheckRet + { + EFailed, + EOkay, + ENeedsDDEvent, + }; + +const TInt ESubStates1=2; +const TInt ESubStates2=5; +const TInt ESubStates3=5; +const TInt ESubStates4=5; +const TInt ESubStates5=5; +const TInt ESubStates6=5; + +const TInt EWinBorderSize=10; + +class CPcWindowBase; +class CTPointerCapture; + +class CPcConnection : public CTClient + { +public: + CPcConnection(CTPointerCapture *aTest); + ~CPcConnection(); + virtual void ConstructL(); +protected: + CTPointerCapture *iTest; + }; + +class CPcWindowBase : public CTWin + { +public: + CPcWindowBase(CTPointerCapture *aTest); + void SetUpL(TPoint pos,TSize size,CTWinBase *parent); + void SetUpL(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); + void Draw(TDesC &aBuf); + void PointerL(const TPointerEvent &pointer,const TTime &); + void DragDropL(const TPointerEvent &pointer,const TTime &); + virtual TPointerCheckRet PointerDown()=0; + virtual TPointerCheckRet DragDrop()=0; + virtual void SubStateChanged(); +protected: + CTPointerCapture *iTest; + TRgb iBack; + }; + +class CPcWindowChild : public CPcWindowBase + { +public: + CPcWindowChild(CTPointerCapture *aTest); + void Draw(); + TPointerCheckRet PointerDown(); + TPointerCheckRet DragDrop(); + }; + +class CPcWindowMain : public CPcWindowBase + { +public: + CPcWindowMain(CTPointerCapture *aTest); + void Draw(); + TPointerCheckRet PointerDown(); + TPointerCheckRet DragDrop(); + void WinKeyL(const TKeyEvent &aKey,const TTime &aTime); + }; + +class CPcWindowAltGroup : public CPcWindowBase + { +public: + CPcWindowAltGroup(CTPointerCapture *aTest); + void Draw(); + TPointerCheckRet PointerDown(); + TPointerCheckRet DragDrop(); + }; + +class CPcWindowNickFocusGroup : public CTWindowGroup + { +public: + CPcWindowNickFocusGroup(CTPointerCapture *aTest, CTClient *aClient); + void KeyL(const TKeyEvent &aKey,const TTime &aTime); +private: + CTPointerCapture *iTest; + }; + +class CPcWindowAltConnection : public CPcWindowBase + { +public: + CPcWindowAltConnection(CTPointerCapture *aTest); + void Draw(); + TPointerCheckRet PointerDown(); + TPointerCheckRet DragDrop(); + }; + +class CTPointerCapture : public CTWsGraphicsBase + { +private: + enum TDState {DDStateNull, DDStateGot, DDStateWaiting}; +public: + CTPointerCapture(CTestStep* aStep); + ~CTPointerCapture(); + void ConstructL(); + void NextTest(); + void AbortTests(); + TInt State() const; + TInt SubState() const; + void doIncSubStateL(); + void IncSubStateL(TBool aNeedsDD=EFalse); + void GotDDL(); + void StateChanged(); + void TestFailed(); + void NickFocusL(); + void SetCapture(TInt aCaptureFlags); + inline TestClient* Client() {return TheClient;} +protected: +//from CTGraphicsStep + virtual void RunTestCaseL(TInt aCurTestCase); +private: + TInt doTestFailedL(); + void SendEventsL(); +private: + CPcConnection *iAltConnection; + CTWindowGroup *iMainGroup; + CTWindowGroup *iAltGroup; + CPcWindowChild *iChildWin; + CPcWindowMain *iMainWin; + CPcWindowAltGroup *iAltGroupWin; + CPcWindowAltConnection *iAltConnectionWin; + CPcWindowNickFocusGroup *iNickFocusGroup; + CTBlankWindow *iNickFocusBlankWin; + //TInt iState; + TInt iSubState; + TDState iDDState; + TSize iScreenSize; +public: + TBool iFailed; + }; + +class CTPointerCaptureStep : public CTGraphicsStep + { +public: + CTPointerCaptureStep(); +protected: + //from CTGraphicsStep + virtual CTGraphicsBase* CreateTestL(); + }; + +_LIT(KTPointerCaptureStep,"TPointerCapture"); + + +#endif