// -----------------------------------------------------------------------------
// CTestSDKLists::TestTXLBHandlePointerEventL
// -----------------------------------------------------------------------------
//
TInt CTestSDKLists::TestTXLBHandlePointerEventL( CStifItemParser& /*aItem*/ )
    {
    // Print to UI
    _LIT( KTestModule, "EIKTXLBXTestModule" );
    _LIT( KTestEIKTXLBX, "In TestTXLBHandlePointerEventL" );
    TestModuleIf().Printf( 0, KTestModule, KTestEIKTXLBX );
    // Print to log file
    iLog->Log( KTestEIKTXLBX );

    TInt flags = CEikListBox::EIncrementalMatching | 
                EAknListBoxSelectionList | EAknListBoxViewerFlags;
    CDesCArray* textArray = iEikonEnvPointer->ReadDesCArrayResourceL( 
            R_TESTLIST_ITEM_SETTING );
    CleanupStack::PushL( textArray );

    CEikTextListBox* list = new( ELeave ) CEikTextListBox();
    CleanupStack::PushL( list );
    list->ConstructL( iContainer, flags );
    list->Model()->SetItemTextArray( textArray );
    list->Model()->SetOwnershipType( ELbmOwnsItemArray );
    iContainer->SetControlL( list );

    TPointerEvent event;
    event.iType = TPointerEvent::EButton1Down;
    event.iModifiers = 0;
    TPoint eventPos( 0, KNine );
    event.iPosition = eventPos;
    event.iParentPosition = eventPos;
    list->HandlePointerEventL( event );

    iContainer->ResetControl();
    CleanupStack::Pop( 2 );

    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKLists::TestTXLBGetColorUseListL
// -----------------------------------------------------------------------------
//
TInt CTestSDKLists::TestTXLBGetColorUseListL( CStifItemParser& /*aItem*/ )
    {
    // Print to UI
    _LIT( KTestModule, "EIKTXLBXTestModule" );
    _LIT( KTestEIKTXLBX, "In TestTXLBGetColorUseListL" );
    TestModuleIf().Printf( 0, KTestModule, KTestEIKTXLBX );
    // Print to log file
    iLog->Log( KTestEIKTXLBX );

    TInt flags = CEikListBox::EIncrementalMatching | 
                EAknListBoxSelectionList | EAknListBoxViewerFlags;
    CDesCArray* textArray = iEikonEnvPointer->ReadDesCArrayResourceL( 
            R_TESTLIST_ITEM_SETTING );
    CleanupStack::PushL( textArray );

    CEikTextListBox* list = new( ELeave ) CEikTextListBox();
    CleanupStack::PushL( list );
    list->ConstructL( iContainer, flags );
    list->Model()->SetItemTextArray( textArray );
    list->Model()->SetOwnershipType( ELbmOwnsItemArray );
    iContainer->SetControlL( list );

    CArrayFixFlat<TCoeColorUse>* colorUseList = new( ELeave ) 
        CArrayFixFlat<TCoeColorUse>( KFour );
    CleanupStack::PushL( colorUseList );
    list->GetColorUseListL( *colorUseList );
    colorUseList->Reset();    
    CleanupStack::PopAndDestroy( colorUseList );

    iContainer->ResetControl();
    CleanupStack::Pop( 2 );

    return KErrNone;
    }
void CDefaultNumbersPopupList::ConstructL()
{
	CALLSTACKITEM_N(_CL("CDefaultNumbersPopupList"), _CL("ConstructL"));
	
	iListbox = new (ELeave)  CAknDoublePopupMenuStyleListBox;

	iPhoneDefault =CEikonEnv::Static()->AllocReadResourceL(R_DEFAULT_PHONE);
	iSmsDefault =CEikonEnv::Static()->AllocReadResourceL(R_DEFAULT_SMS);
	iMmsDefault =CEikonEnv::Static()->AllocReadResourceL(R_DEFAULT_MMS);
	iEmailDefault =CEikonEnv::Static()->AllocReadResourceL(R_DEFAULT_EMAIL);
	iNoDefault =CEikonEnv::Static()->AllocReadResourceL(R_NO_DEFAULT);
	iDefault = CEikonEnv::Static()->AllocReadResourceL(R_DEFAULTS);

	iArrayItems = new CDesCArrayFlat(1);
	PopulateListbox();

	// original contsructl
	CAknPopupList::ConstructL(iListbox, R_DEFAULT_POPUP_CBA, AknPopupLayouts::EMenuDoubleWindow);
	CAknPopupList::SetTitleL(*iDefault);

	iListbox->ConstructL(this, CEikListBox::ELeftDownInViewRect);
	iListbox->CreateScrollBarFrameL(ETrue);
	iListbox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);

	CTextListBoxModel* model = iListbox->Model();
	model->SetItemTextArray(iArrayItems);
	model->SetOwnershipType(ELbmDoesNotOwnItemArray);
}
// -----------------------------------------------------------------------------
// CTestSDKLists::TestTXLBConstructL
// -----------------------------------------------------------------------------
//
TInt CTestSDKLists::TestTXLBConstructL( CStifItemParser& /*aItem*/ )
    {
    // Print to UI
    _LIT( KTestModule, "EIKTXLBXTestModule" );
    _LIT( KTestEIKTXLBX, "In TestTXLBConstructL" );
    TestModuleIf().Printf( 0, KTestModule, KTestEIKTXLBX );
    // Print to log file
    iLog->Log( KTestEIKTXLBX );

    TInt flags = CEikListBox::EIncrementalMatching | 
                EAknListBoxSelectionList | EAknListBoxViewerFlags;

    CEikTextListBox* list = new( ELeave ) CEikTextListBox();
    CleanupStack::PushL( list );
    list->ConstructL( iContainer, flags );
    CleanupStack::PopAndDestroy( list );

    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgHandleListBoxEventL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgHandleListBoxEventL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
        
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CAknListQueryDialog* dlg = new( ELeave ) CAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    CEikTextListBox* listBox = new( ELeave ) CEikTextListBox; 
    CleanupStack::PushL( listBox ); 
    CAknPopupList* popupList = CAknPopupList::NewL( listBox, R_AVKON_SOFTKEYS_OK_BACK );
    CleanupStack::PushL( popupList ); 
    listBox->ConstructL( popupList, CEikListBox::ELeftDownInViewRect ); 
    
    dlg->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventEnterKeyPressed );
    dlg->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventPenDownOnItem );
    dlg->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventItemDraggingActioned );
    dlg->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventItemClicked );
    dlg->HandleListBoxEventL( listBox, MEikListBoxObserver::EEventEditingStarted );
    
    CleanupStack::Pop( popupList );
    CleanupStack::PopAndDestroy( listBox );
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
void CPhotoListView::GetFolder()
{
	TInt PopValue;	
	//TBuf<150> msg;
	TInt count=0;	
	
	CDesCArray* items = iPhotosAppUi->GetFolderList();	
    CDesCArray* foldernames = iPhotosAppUi->ReturnText();

	if (items == NULL)
	{
		Count = 0;
		items = new (ELeave) CDesCArrayFlat(1);
		items->AppendL(foldernames->MdcaPoint(0));
	}
	else
	{
		Count = items->MdcaCount();	
		items->AppendL(foldernames->MdcaPoint(0));
	}
	foldernames->Reset();

	CEikTextListBox* list = new( ELeave ) CAknSinglePopupMenuStyleListBox;
    CleanupStack::PushL( list );

    CAknPopupList* popupList = CAknPopupList::NewL(
       list,
       R_AVKON_SOFTKEYS_SELECT_CANCEL,
       AknPopupLayouts::EMenuWindow);

    CleanupStack::PushL( popupList );
    
    popupList->SetMaximumHeight(2);

    list->ConstructL( popupList, CEikListBox::ELeftDownInViewRect );
    list->CreateScrollBarFrameL( ETrue );
    list->ScrollBarFrame()->SetScrollBarVisibilityL(
		   CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );

    CTextListBoxModel* model = list->Model();
    model->SetItemTextArray( items );
    model->SetOwnershipType( ELbmOwnsItemArray );
	
	count = GetPhotoCount();

//	TInt price;
//	TLex lex(iPhotosAppUi->iCharge);
//	lex.Val(price);
//	count = count * price;

//	TBuf<30> temp;
//	temp.AppendNum(count);	

//	msg.Copy(_L("Charge "));
//	msg.Append(temp);
//	msg.Append(_L(" pesos"));

	//msg.Copy(_L("Select Album:"));
	//msg.Copy(*(iEikonEnv->AllocReadResourceL(R_IMAGES_SELECT_ALBUM)));
	
	/*count = count / 3;
	temp.Copy(_L(""));
	temp.AppendNum(count);

	path = iPhotosAppUi->ImageFolderPath();
	if(path == 0 || path == 1)			
		msg.Append(_L(" Photos)"));
	else if(path == 2 || path == 3)
		msg.Append(_L(" Videos)"));*/

	popupList->SetTitleL(*(iEikonEnv->AllocReadResourceL(R_IMAGES_SELECT_ALBUM)));

	PopValue = popupList->ExecuteLD();		
	
	if(PopValue==0)
	{
		iFolderStatus=-1;
	}
	else if(PopValue==1)
	{
		PopValue=list->CurrentItemIndex();		
		iFolderStatus=PopValue;		
		TPtrC ptr1(items->MdcaPoint(PopValue));
		comment.Copy(ptr1);		
	}
	
	items->Reset();
	CleanupStack::Pop(); // popupList
    CleanupStack::PopAndDestroy(); // list	

}