Fix def files so that the implementation agnostic interface definition has no non-standards defined entry points, and change the eglrefimpl specific implementation to place its private entry points high up in the ordinal order space in the implementation region, not the standards based entrypoints region.
// 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:
// Test pointer capture
//
//
/**
@file
@test
@internalComponent - Internal Symbian test code
*/
#include "TPNTCAP.H"
#define LOGGING on
_LIT(ClickOnMe,"Click on me");
//
// CMcConnection
CPcConnection::CPcConnection(CTPointerCapture *aTest) : iTest(aTest)
{
}
CPcConnection::~CPcConnection()
{
}
void CPcConnection::ConstructL()
{
CTClient::SetScreenNumber(iTest->TestBase()->ScreenNumber());
CTClient::ConstructL();
iGroup=new(ELeave) CTWindowGroup(this);
iGroup->ConstructL();
iGroup->GroupWin()->SetOrdinalPosition(0,1);
iGroup->GroupWin()->EnableReceiptOfFocus(EFalse);
iWs.Flush();
}
//
// CPcWindow, base class //
//
CPcWindowBase::CPcWindowBase(CTPointerCapture *aTest) : CTWin(), iTest(aTest)
{
}
void CPcWindowBase::SetUpL(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc)
{
ConstructExtLD(*parent,pos,size);
iWin.SetBackgroundColor(iBack);
Activate();
AssignGC(aGc);
}
void CPcWindowBase::SetUpL(TPoint pos,TSize size,CTWinBase *parent)
{
SetUpL(pos,size,parent,*iTest->Client()->iGc);
}
void CPcWindowBase::SubStateChanged()
{
iWin.Invalidate();
Client()->iWs.Flush();
}
void CPcWindowBase::Draw(TDesC &aBuf)
{
iGc->Clear();
iGc->SetPenColor(iBack.Gray4()>1 ? TRgb(0,0,0) : TRgb(255,255,255));
iGc->DrawText(aBuf, TPoint(10,20));
}
void CPcWindowBase::PointerL(const TPointerEvent &pointer,const TTime &)
{
#if defined(LOGGING)
_LIT(KLog1,"Pointer Event Recieved Type=%S State=%d SubState=%d");
_LIT(KDown,"Down");
_LIT(KUp,"Up");
iTest->LOG_MESSAGE4(KLog1,&(pointer.iType?KUp():KDown()),iTest->State(),iTest->SubState());
#endif
if (pointer.iType==TPointerEvent::EButton1Down && !iTest->iFailed)
{
if (iTest->SubState()==ERootWindow) // Root window click, must not be inside this window
{
if (TRect(Size()).Contains(pointer.iPosition))
{
iTest->TestFailed();
return;
}
}
TInt ret;
if ((ret=PointerDown())==EFailed)
iTest->TestFailed();
else
iTest->IncSubStateL(ret==ENeedsDDEvent);
}
#if defined(LOGGING)
_LIT(KLog2,"End of processing Pointer Event");
iTest->LOG_MESSAGE(KLog2);
#endif
}
void CPcWindowBase::DragDropL(const TPointerEvent &pointer,const TTime &)
{
#if defined(LOGGING)
_LIT(KLog,"CPcWindowBase::DragDropL Type=%d State=%d SubState=%d");
iTest->LOG_MESSAGE4(KLog,pointer.iType,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case ENormalCaptureWithoutFocus:
if (iTest->SubState()==0)
break;
case ECaptureDisabled:
case ENormalCapture:
case ECaptureAllGroups:
iTest->TestFailed();
break;
}
if (pointer.iType==TPointerEvent::EButton1Down && !iTest->iFailed)
{
if (DragDrop()==EFailed)
iTest->TestFailed();
else
iTest->GotDDL();
}
}
//
CPcWindowMain::CPcWindowMain(CTPointerCapture *aTest) : CPcWindowBase(aTest)
{
iBack=TRgb::Gray256(236);
}
TPointerCheckRet CPcWindowMain::PointerDown()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowMain::PointerDown State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case ECaptureDisabled:
if (iTest->SubState()==EMainWindow)
return(EOkay);
break;
case ENormalCapture:
switch(iTest->SubState())
{
case EMainWindow:
case ERootWindow:
return(EOkay);
default:
break;
}
break;
case ECaptureAllGroups:
switch(iTest->SubState())
{
case EMainWindow:
case EOtherGroup:
case EOtherSession:
case ERootWindow:
return(EOkay);
default:
break;
}
break;
case EDragDropCapture:
switch(iTest->SubState())
{
case EMainWindow:
return(ENeedsDDEvent);
case ERootWindow:
return(EOkay);
default:
break;
}
break;
case EDragDropCaptureAllGroups:
switch(iTest->SubState())
{
case EMainWindow:
case EOtherGroup:
case EOtherSession:
return(ENeedsDDEvent);
case ERootWindow:
return(EOkay);
default:
break;
}
break;
case ENormalCaptureWithoutFocus:
switch(iTest->SubState())
{
case EMainWindow:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowMain::PointerDown FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
TPointerCheckRet CPcWindowMain::DragDrop()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowMain::DragDrop State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case EDragDropCapture:
case EDragDropCaptureAllGroups:
switch(iTest->SubState())
{
case EMainWindow:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowMain::DragDrop FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
void CPcWindowMain::Draw()
{
TBuf<0x40> buf;
if (iTest->State()==ECaptureDisabled)
{
switch(iTest->SubState())
{
case EMainWindow:
buf.Copy(ClickOnMe);
break;
}
}
else
{
switch(iTest->SubState())
{
case EMainWindow:
buf.Copy(ClickOnMe);
break;
case EChildWindow:
case EOtherGroup:
case EOtherSession:
break;
case ERootWindow:
{
_LIT(ClickOnRoot,"Click on the root window");
if (iTest->State()<ENormalCaptureWithoutFocus)
buf.Copy(ClickOnRoot);
else
{
_LIT(AndEscape,", then press <Escape>");
buf.Copy(ClickOnRoot);
buf.Append(AndEscape);
}
}
break;
}
}
CPcWindowBase::Draw(buf);
}
void CPcWindowMain::WinKeyL(const TKeyEvent &aKey,const TTime &)
{
switch(aKey.iCode)
{
case EKeyEscape:
iTest->AbortTests();
break;
case EKeyEnter:
if (iTest->SubState()==ERootWindow)
iTest->IncSubStateL(EFalse);
break;
}
}
//
CPcWindowChild::CPcWindowChild(CTPointerCapture *aTest) : CPcWindowBase(aTest)
{
iBack=TRgb::Gray256(85);
}
TPointerCheckRet CPcWindowChild::PointerDown()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowChild::PointerDown State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case ECaptureDisabled:
break;
default:
switch(iTest->SubState())
{
case EChildWindow:
return(EOkay);
default:
break;
}
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowChild::PointerDown FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
TPointerCheckRet CPcWindowChild::DragDrop()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowChild::PointerDown State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case EDragDropCapture:
case EDragDropCaptureAllGroups:
switch(iTest->SubState())
{
case EChildWindow:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowChild::PointerDown FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
void CPcWindowChild::Draw()
{
TBuf<0x40> buf;
if (iTest->State()!=ECaptureDisabled)
{
switch(iTest->SubState())
{
case EChildWindow:
buf.Copy(ClickOnMe);
break;
default:
break;
}
}
CPcWindowBase::Draw(buf);
}
//
CPcWindowNickFocusGroup::CPcWindowNickFocusGroup(CTPointerCapture *aTest, CTClient *aClient) : CTWindowGroup(aClient), iTest(aTest)
{
}
void CPcWindowNickFocusGroup::KeyL(const TKeyEvent &aKey,const TTime &)
{
if (aKey.iCode==EKeyEscape)
iTest->IncSubStateL(EFalse);
}
//
CPcWindowAltGroup::CPcWindowAltGroup(CTPointerCapture *aTest) : CPcWindowBase(aTest)
{
iBack=TRgb::Gray256(236);
}
TPointerCheckRet CPcWindowAltGroup::PointerDown()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowAltGroup::PointerDown State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case ECaptureDisabled:
if (iTest->SubState()==EChildWindow)
return(EOkay);
break;
case ENormalCapture:
case EDragDropCapture:
case ENormalCaptureWithoutFocus:
switch(iTest->SubState())
{
case EOtherGroup:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowAltGroup::PointerDown FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
TPointerCheckRet CPcWindowAltGroup::DragDrop()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowAltGroup::DragDrop State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case EDragDropCapture:
case EDragDropCaptureAllGroups:
switch(iTest->SubState())
{
case EOtherGroup:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowAltGroup::DragDrop FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
void CPcWindowAltGroup::Draw()
{
TBuf<0x40> buf;
if (iTest->State()==ECaptureDisabled)
{
switch(iTest->SubState())
{
case EMainWindow:
break;
case EChildWindow:
buf.Copy(ClickOnMe);
break;
}
}
else
{
switch(iTest->SubState())
{
case EOtherGroup:
buf.Copy(ClickOnMe);
break;
default:
break;
}
}
CPcWindowBase::Draw(buf);
}
//
CPcWindowAltConnection::CPcWindowAltConnection(CTPointerCapture *aTest) : CPcWindowBase(aTest)
{
iBack=TRgb::Gray256(236);
}
TPointerCheckRet CPcWindowAltConnection::PointerDown()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowAltConnection::PointerDown State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case ECaptureDisabled:
if (iTest->SubState()==EChildWindow)
return(EOkay);
break;
case ENormalCapture:
case EDragDropCapture:
case ENormalCaptureWithoutFocus:
switch(iTest->SubState())
{
case EOtherSession:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowAltConnection::PointerDown FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
TPointerCheckRet CPcWindowAltConnection::DragDrop()
{
#if defined(LOGGING)
_LIT(KLog1,"CPcWindowAltConnection::DragDrop State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog1,iTest->State(),iTest->SubState());
#endif
switch(iTest->State())
{
case EDragDropCapture:
case EDragDropCaptureAllGroups:
switch(iTest->SubState())
{
case EOtherSession:
return(EOkay);
default:
break;
}
break;
default:
break;
}
#if defined(LOGGING)
_LIT(KLog2,"CPcWindowAltConnection::DragDrop FAILED State=%d SubState=%d");
iTest->LOG_MESSAGE3(KLog2,iTest->State(),iTest->SubState());
#endif
return(EFailed);
}
void CPcWindowAltConnection::Draw()
{
TBuf<0x40> buf;
if (iTest->State()!=ECaptureDisabled)
{
switch(iTest->SubState())
{
case EOtherSession:
buf.Copy(ClickOnMe);
break;
default:
break;
}
}
CPcWindowBase::Draw(buf);
}
//
CTPointerCapture::CTPointerCapture(CTestStep* aStep) : CTWsGraphicsBase(aStep)
{
iSubState=0;
iFailed=EFalse;
}
CTPointerCapture::~CTPointerCapture()
{
delete iNickFocusBlankWin;
delete iNickFocusGroup;
delete iAltConnectionWin;
delete iAltConnection;
delete iChildWin;
delete iMainWin;
delete iMainGroup;
delete iAltGroupWin;
delete iAltGroup;
}
void CTPointerCapture::TestFailed()
{
if (iFailed)
{
_LIT(KLog,"Test Failed State=%d SubState=%d");
LOG_MESSAGE3(KLog,iTest->iState,iSubState);
}
__ASSERT_DEBUG(iFailed==EFalse,AutoPanic(ETManPanicPcFailed));
TInt dRet=1;
#if !defined(DISABLE_FAIL_DIALOG)
Client()->iGroup->GroupWin()->SetOrdinalPosition(0,10); // Put error dialog on top of test windows
TRAPD(err,dRet=doTestFailedL());
Client()->iGroup->GroupWin()->SetOrdinalPosition(0,0);
#endif
switch(dRet)
{
case 0:
break;
case 1:
iFailed=ETrue;
NextTest();
break;
}
}
TInt CTPointerCapture::doTestFailedL()
{
CTDialog *dialog=new(ELeave) CTDialog();
dialog->SetTitle(_L("Pointer capture test failed"));
dialog->SetNumButtons(2);
dialog->SetButtonText(0,_L("Retest"));
dialog->SetButtonText(1,_L("Fail"));
dialog->ConstructLD(*Client()->iGroup,*Client()->iGc);
return dialog->Display();
}
TInt CTPointerCapture::State() const
{
return(iTest->iState);
}
TInt CTPointerCapture::SubState() const
{
return(iSubState);
}
void CTPointerCapture::doIncSubStateL()
{
iSubState++;
TInt max=0;
switch(iTest->iState)
{
case ECaptureDisabled:
max=ESubStates1;
break;
case ENormalCapture:
max=ESubStates2;
break;
case ECaptureAllGroups:
max=ESubStates3;
break;
case EDragDropCapture:
max=ESubStates4;
break;
case EDragDropCaptureAllGroups:
max=ESubStates5;
break;
case ENormalCaptureWithoutFocus:
max=ESubStates6;
break;
}
//SubState 4 has been broken by something in the framework
if (iSubState==max || iSubState==4)
{
#if defined(LOGGING)
_LIT(KLog,"IncState OldState=%d SubState=%d");
LOG_MESSAGE3(KLog,iTest->iState,iSubState);
#endif
NextTest();
}
StateChanged();
TheClient->WaitForRedrawsToFinish();
if (iSubState>0)
SendEventsL();
}
void CTPointerCapture::GotDDL()
{
if (iDDState==DDStateWaiting)
doIncSubStateL();
else
iDDState=DDStateGot;
}
void CTPointerCapture::IncSubStateL(TBool aNeedsDD)
{
if (!aNeedsDD)
{
if (iDDState!=DDStateNull)
TestFailed();
else
doIncSubStateL();
}
else if (iDDState==DDStateGot)
doIncSubStateL();
else
iDDState=DDStateWaiting;
}
void CTPointerCapture::StateChanged()
{
iDDState=DDStateNull;
iChildWin->SubStateChanged();
iMainWin->SubStateChanged();
iAltGroupWin->SubStateChanged();
iAltConnectionWin->SubStateChanged();
}
void CTPointerCapture::AbortTests()
{
iTest->iState=99;
}
void CTPointerCapture::NextTest()
{
TEST(!iFailed);
if (iFailed)
{
_LIT(KLog,"SubTest %d failed");
LOG_MESSAGE2(KLog,iTest->iState);
}
++iTest->iState;
iSubState=0;
iFailed=EFalse;
CaseComplete();
_LIT(KLog,"Done NextTest NewSubTest %d");
LOG_MESSAGE2(KLog,iTest->iState);
}
void CTPointerCapture::ConstructL()
{
TheClient->iWs.SetPointerCursorArea(iTest->iNormalPointerCursorArea);
iScreenSize=TSize(TheClient->iScreen->SizeInPixels());
TInt winWidth2=iScreenSize.iWidth/2-EWinBorderSize*2;
TInt winWidth4=iScreenSize.iWidth/4-EWinBorderSize*2;
TInt winHeight=iScreenSize.iHeight/2-EWinBorderSize*2;
//
iMainGroup=new(ELeave) CTWindowGroup(Client());
iMainGroup->ConstructL();
iMainGroup->GroupWin()->SetOrdinalPosition(0,1);
iMainWin=new(ELeave) CPcWindowMain(this);
iMainWin->SetUpL(TPoint(EWinBorderSize,EWinBorderSize) ,TSize(winWidth2,winHeight) ,iMainGroup);
iMainGroup->SetCurrentWindow(iMainWin);
iChildWin=new(ELeave) CPcWindowChild(this);
iChildWin->SetUpL(TPoint(0,winHeight/2) ,TSize(winWidth2,winHeight/2) ,iMainWin);
//
iAltGroup=new(ELeave) CTWindowGroup(Client());
iAltGroup->ConstructL();
iAltGroup->GroupWin()->SetOrdinalPosition(0,1);
iAltGroup->GroupWin()->EnableReceiptOfFocus(EFalse);
iAltGroupWin=new(ELeave) CPcWindowAltGroup(this);
iAltGroupWin->SetUpL(TPoint(iScreenSize.iWidth/2+EWinBorderSize,EWinBorderSize) ,TSize(winWidth4,winHeight) ,iAltGroup);
//
iAltConnection=new(ELeave) CPcConnection(this);
iAltConnection->ConstructL();
iAltConnectionWin=new(ELeave) CPcWindowAltConnection(this);
iAltConnectionWin->SetUpL(TPoint(iScreenSize.iWidth/4*3+EWinBorderSize,EWinBorderSize) ,TSize(winWidth4,winHeight),iAltConnection->iGroup,*iAltConnection->iGc);
iTest->DelayIfFullRomL();
SetSelfDrive(ETrue);
}
void CTPointerCapture::NickFocusL()
{
iNickFocusGroup=new(ELeave) CPcWindowNickFocusGroup(this,Client());
iNickFocusGroup->ConstructL();
iNickFocusGroup->GroupWin()->SetOrdinalPosition(0,2);
iNickFocusBlankWin=new(ELeave) CTBlankWindow();
iNickFocusBlankWin->ConstructL(*iNickFocusGroup);
iNickFocusBlankWin->SetSize(TSize(1,1));
iNickFocusBlankWin->Activate();
}
void CTPointerCapture::SetCapture(TInt aCaptureFlags)
{
#if defined(LOGGING)
_LIT(KLog,"Change Capture State=%d CaptureFlags=0x%x");
LOG_MESSAGE3(KLog,iTest->iState,aCaptureFlags);
#endif
iMainWin->Win()->SetPointerCapture(aCaptureFlags);
}
void CTPointerCapture::SendEventsL()
{
#if defined(LOGGING)
_LIT(KLog,"SendEvent State=%d SubState=%d");
LOG_MESSAGE3(KLog,iTest->iState,iSubState);
#endif
switch (iSubState)
{
case 0:
iTest->SimulatePointerDownUp(iScreenSize.iWidth/4,iScreenSize.iHeight/8+EWinBorderSize/2);
break;
case 1:
if (iTest->iState>ECaptureDisabled)
{
iTest->SimulatePointerDownUp(iScreenSize.iWidth/4,3*iScreenSize.iHeight/8-EWinBorderSize/2);
break;
}
case 2:
iTest->SimulatePointerDownUp(5*iScreenSize.iWidth/8,iScreenSize.iHeight/4);
break;
case 3:
iTest->SimulatePointerDownUp(7*iScreenSize.iWidth/8,iScreenSize.iHeight/4);
break;
case 4:
if (iTest->IsFullRomL())
iTest->SimulateKeyDownUp(EStdKeyEnter);
else
iTest->SimulatePointerDownUp(0,0);
if (iTest->iState==ENormalCaptureWithoutFocus)
{
iTest->SimulateKeyDownUp(EStdKeyEscape);
break;
}
break;
default:
TEST(EFalse);
}
TheClient->iWs.Flush();
}
void CTPointerCapture::RunTestCaseL(TInt /*aCurTestCase*/)
{
_LIT(TestNoCapture,"No capture");
_LIT(TestNormalCapture,"Normal capture");
_LIT(TestAllGroups,"All groups");
_LIT(TestDragDrop,"Drag & Drop");
_LIT(TestDragDropAllGroups,"Drag & Drop All groups");
_LIT(TestWithoutFocus,"Without focus");
StateChanged();
if (!TestBase()->ConfigurationSupportsPointerEventTesting())
{
INFO_PRINTF1(_L("Test skipped because config does not support pointer event testing"));
TestComplete();
return;
}
((CTPointerCaptureStep*)iStep)->SetTestStepID(KUnknownSYMTestCaseIDName);
switch(iTest->iState)
{
/**
@SYMTestCaseID GRAPHICS-WSERV-0290
@SYMDEF DEF081259
@SYMTestCaseDesc Test pointer capture can be disabled
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Disable the pointer capture to the screen and simulate
capture with the pointer
@SYMTestExpectedResults The pointer capture has been disabled
*/
case ECaptureDisabled:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0290"));
if (TheClient->iScreen->GetScreenNumber()>0)
{
_LIT(KLog,"Cannot run this test on the 2nd screen - all pointer events goto the 1st screen");
LOG_MESSAGE(KLog);
TestComplete();
}
iTest->LogSubTest(TestNoCapture);
SetCapture(RWindowBase::TCaptureDisabled);
break;
/**
@SYMTestCaseID GRAPHICS-WSERV-0291
@SYMDEF DEF081259
@SYMTestCaseDesc Test pointer capture can be enabled
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Enable the pointer capture to the screen and simulate
capture with the pointer
@SYMTestExpectedResults The pointer capture has been enabled and works
correctly
*/
case ENormalCapture:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0291"));
iTest->LogSubTest(TestNormalCapture);
SetCapture(RWindowBase::TCaptureEnabled);
break;
/**
@SYMTestCaseID GRAPHICS-WSERV-0292
@SYMDEF DEF081259
@SYMTestCaseDesc Test pointer capture can be enabled for
windows belonging to any group
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Enable the pointer capture to all windows and simulate
capture with the pointer
@SYMTestExpectedResults The pointer capture has been enabled and works
correctly
*/
case ECaptureAllGroups:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0292"));
iTest->LogSubTest(TestAllGroups);
SetCapture(RWindowBase::TCaptureEnabled|RWindowBase::TCaptureFlagAllGroups);
break;
/**
@SYMTestCaseID GRAPHICS-WSERV-0293
@SYMDEF DEF081259
@SYMTestCaseDesc Test drag and drop pointer capture can be enabled for
windows belonging to any group
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Enable drag and drop pointer capture to all windows and simulate
capture with the pointer
@SYMTestExpectedResults The pointer capture has been enabled and works
correctly
*/
case EDragDropCapture:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0293"));
iTest->LogSubTest(TestDragDrop);
SetCapture(RWindowBase::TCaptureDragDrop&~RWindowBase::TCaptureFlagAllGroups);
break;
/**
@SYMTestCaseID GRAPHICS-WSERV-0294
@SYMDEF DEF081259
@SYMTestCaseDesc Test drag and drop pointer capture can be enabled
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Enable drag and drop pointer capture and simulate
capture with the pointer
@SYMTestExpectedResults The pointer capture has been enabled and works
correctly
*/
case EDragDropCaptureAllGroups:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0294"));
iTest->LogSubTest(TestDragDropAllGroups);
SetCapture(RWindowBase::TCaptureDragDrop);
break;
/**
@SYMTestCaseID GRAPHICS-WSERV-0295
@SYMDEF DEF081259
@SYMTestCaseDesc Test pointer capture can be enabled
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Enable the pointer capture to the screen and simulate capture
with the pointer when the screen does not have the focus
@SYMTestExpectedResults The pointer capture has been enabled and works
correctly
*/
case ENormalCaptureWithoutFocus:
((CTPointerCaptureStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0295"));
iTest->LogSubTest(TestWithoutFocus);
NickFocusL();
SetCapture(RWindowBase::TCaptureEnabled);
break;
default:
((CTPointerCaptureStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
((CTPointerCaptureStep*)iStep)->CloseTMSGraphicsStep();
TestComplete();
return;
}
((CTPointerCaptureStep*)iStep)->RecordTestResultL();
SendEventsL();
}
__WS_CONSTRUCT_STEP__(PointerCapture)