diff -r 000000000000 -r 2f259fa3e83a classicui_pub/popups_api/tsrc/src/testsdkpopupsblockspl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/popups_api/tsrc/src/testsdkpopupsblockspl.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,788 @@ +/* +* Copyright (c) 2002 - 2007 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 aknPopup.h +* +*/ + + + +// [INCLUDE FILES] + + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdkpopups.h" +#include "testsdkpopupspl.h" + +const TInt KLength = 20; +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLNewL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLNewL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + CleanupStack::PopAndDestroy( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLExecuteLD +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLExecuteLD( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLSetTitleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLSetTitleL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + _LIT( KTitle, "PopupList" ); + TBuf title( KTitle ); + popupList->SetTitleL( title ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLCancelPopupL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLCancelPopupL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->CancelPopup(); + + CleanupStack::Pop( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLButtonGroupContainerL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLButtonGroupContainerL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + CEikButtonGroupContainer* container = popupList->ButtonGroupContainer(); + STIF_ASSERT_NOT_NULL( container ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHeadingL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHeadingL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + _LIT( KTitle, "PopupList" ); + TBuf title( KTitle ); + popupList->SetTitleL( title ); + + CAknPopupHeadingPane* pane = popupList->Heading(); + STIF_ASSERT_NOT_NULL( pane ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHeadingConstL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHeadingConstL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + _LIT( KTitle, "PopupList" ); + TBuf title( KTitle ); + popupList->SetTitleL( title ); + + const CAknPopupList* popupListConst = popupList; + CAknPopupHeadingPane* pane = popupListConst->Heading(); + STIF_ASSERT_NOT_NULL( pane ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLListBoxL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLListBoxL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + CEikListBox* listBoxGet = popupList->ListBox(); + STIF_ASSERT_NOT_NULL( listBoxGet ); + STIF_ASSERT_TRUE( listBox == listBoxGet ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLSetMaximumHeightL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLSetMaximumHeightL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + const TInt Height = 50; + popupList->SetMaximumHeight( Height ); + STIF_ASSERT_TRUE( popupList->Layout().iMaximumHeight == Height ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLEnableFindL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLEnableFindL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + TBool find = popupList->EnableFind( EFalse ); + STIF_ASSERT_TRUE( find ); + find = popupList->EnableFind( ETrue ); + STIF_ASSERT_TRUE( find ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLEnableAdaptiveFindL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLEnableAdaptiveFindL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + TBool find = popupList->EnableAdaptiveFind( EFalse ); + STIF_ASSERT_TRUE( find ); + find = popupList->EnableAdaptiveFind( ETrue ); + STIF_ASSERT_TRUE( find ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLFindBoxL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLFindBoxL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + TBool find = popupList->EnableFind( ETrue ); + STIF_ASSERT_TRUE( find ); + CAknSearchField* findBox = popupList->FindBox(); + STIF_ASSERT_NOT_NULL( findBox ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHandlePointerEventL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHandlePointerEventL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + TPointerEvent event; + event.iType = TPointerEvent::EButton1Down; + event.iModifiers = 0; + TPoint eventPos( 10, 30 ); + event.iPosition = eventPos; + event.iParentPosition = eventPos; + + popupList->HandlePointerEventL( event ); + + CleanupStack::PopAndDestroy( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLProcessCommandL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLProcessCommandL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->ProcessCommandL( EAknSoftkeySelect ); + + CleanupStack::Pop( popupList ); + + popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->ProcessCommandL( EAknSoftkeyBack ); + + CleanupStack::Pop( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHandleListBoxEventL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHandleListBoxEventL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventPenDownOnItem ); + + CleanupStack::Pop( popupList ); + + popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventEnterKeyPressed ); + + CleanupStack::Pop( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHandleControlEventL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHandleControlEventL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, MCoeControlObserver::EEventStateChanged ); + + popupList->HandleControlEventL( listBox, MCoeControlObserver::EEventStateChanged ); + + CleanupStack::Pop( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLCAknPopupListL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLCAknPopupListL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + CleanupStack::PopAndDestroy( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLDeconstrutorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLDeconstrutorL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + CleanupStack::Pop( popupList ); + delete popupList; + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLConstructL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLConstructL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + CleanupStack::PopAndDestroy( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLAttemptExitL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLAttemptExitL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + popupList->AttemptExitL( ETrue ); + + CleanupStack::Pop( popupList ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLSetupWindowLayoutL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLSetupWindowLayoutL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, MCoeControlObserver::EEventStateChanged ); + + popupList->SetupWindowLayout( AknPopupLayouts::EMenuWindow ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLListBoxConstL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLListBoxConstL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, MCoeControlObserver::EEventStateChanged ); + + const CTestSDKPopupsPL* popupListConst = popupList; + CEikListBox* listBoxGet = popupListConst->ListBox(); + STIF_ASSERT_NOT_NULL( listBoxGet ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLLayoutConstL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLLayoutConstL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + const CTestSDKPopupsPL* popupListConst = popupList; + const TInt Height = 50; + popupList->SetMaximumHeight( Height ); + STIF_ASSERT_TRUE( popupListConst->Layout().iMaximumHeight == Height ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLLayoutL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLLayoutL( CStifItemParser& aItem ) + { + return TestPLSetMaximumHeightL( aItem ); + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLMopSupplyObjectL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLMopSupplyObjectL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + TTypeUid::Ptr ptr = TTypeUid::Null(); + ptr = popupList->MopSupplyObject( CAknPopupList::ETypeId ); + CTestSDKPopupsPL* point = static_cast ( ptr.Pointer() ); + STIF_ASSERT_NOT_NULL( point ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLHandleResourceChangeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLHandleResourceChangeL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->HandleResourceChange( KEikDynamicLayoutVariantSwitch ); + popupList->HandleResourceChange( KEikMessageColorSchemeChange ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKPopups::TestPLFadeBehindPopupL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKPopups::TestPLFadeBehindPopupL( CStifItemParser& /*aItem*/ ) + { + CEikFormattedCellListBox* listBox = new (ELeave) CEikFormattedCellListBox; + CleanupStack::PushL( listBox ); + STIF_ASSERT_NOT_NULL( listBox ); + + CTestSDKPopupsPL* popupList = CTestSDKPopupsPL::NewL( listBox, R_AVKON_SOFTKEYS_SELECT_BACK, AknPopupLayouts::EPopupSNotePopupWindow ); + CleanupStack::PushL( popupList ); + STIF_ASSERT_NOT_NULL( popupList ); + + listBox->ConstructL( popupList, EAknListBoxMenuList ); + + popupList->FadeBehindPopup( EFalse ); + popupList->FadeBehindPopup( ETrue ); + + TInt popupOk = popupList->ExecuteLD(); + + CleanupStack::Pop( popupList ); + STIF_ASSERT_EQUALS( 0, popupOk ); + CleanupStack::PopAndDestroy( listBox ); + + return KErrNone; + + }