// --------------------------------------------------------------------------- // CBCTestForMAndView::TestForAknGridViewL // --------------------------------------------------------------------------- // void CBCTestForMAndView::TestForAknGridViewL() { CAknGrid *aknGrid = new( ELeave ) CAknGrid(); CleanupStack::PushL( aknGrid ); aknGrid->SetContainerWindowL ( *iContainer ); TResourceReader reader; iEnv->CreateResourceReaderLC( reader, R_BCTESTGRIDS_GRID ); aknGrid->ConstructFromResourceL( reader ); _LIT( KConstructFromResourceL, "ConstructFromResourceL test" ); AssertTrueL( ETrue, KConstructFromResourceL ); CleanupStack::PopAndDestroy(); //reader CAknGridView* gridView = aknGrid->GridView(); _LIT( KCAknGridView, "CAknGridView test" ); AssertTrueL( ETrue, KCAknGridView ); TInt listBoxIndex = 0; TInt dataIndex = gridView->ActualDataIndex( listBoxIndex ); _LIT( KActualDataIndex, "ActualDataIndex test" ); AssertTrueL( ETrue, KActualDataIndex ); TInt listBoxIndex1 = gridView->ListBoxIndex( dataIndex ); _LIT( KListBoxIndex, "ListBoxIndex test" ); AssertTrueL( ETrue, KListBoxIndex ); TInt currentDataIndex = gridView->CurrentDataIndex(); _LIT( KCurrentDataIndex, "CurrentDataIndex test" ); AssertTrueL( ETrue, KCurrentDataIndex ); gridView->SetCurrentDataIndex( dataIndex ); _LIT( KSetCurrentDataIndex, "SetCurrentDataIndex test" ); AssertTrueL( ETrue, KSetCurrentDataIndex ); gridView->SetPrimaryScrollingType( CAknGridView::EScrollFollowsGrid ); _LIT( KSetPrimaryScrollingType, "SetPrimaryScrollingType test" ); AssertTrueL( ETrue, KSetPrimaryScrollingType ); gridView->SetSecondaryScrollingType( CAknGridView::EScrollFollowsGrid ); _LIT( KSetSecondaryScrollingType, "SetSecondaryScrollingType test" ); AssertTrueL( ETrue, KSetSecondaryScrollingType ); TSize size = iContainer->Rect().Size(); gridView->SetGridCellDimensions( size ); _LIT( KSetGridCellDimensions, "SetGridCellDimensions test" ); AssertTrueL( ETrue, KSetGridCellDimensions ); TSize gridCellDimensions = gridView->GridCellDimensions(); _LIT( KGridCellDimensions, "GridCellDimensions test" ); AssertTrueL( ETrue, KGridCellDimensions ); gridView->SetSpacesBetweenItems( size ); _LIT( KSetSpacesBetweenItems, "SetSpacesBetweenItems test" ); AssertTrueL( ETrue, KSetSpacesBetweenItems ); TBool isPrimaryVertical = gridView->IsPrimaryVertical(); _LIT( KIsPrimaryVertical, "IsPrimaryVertical test" ); AssertTrueL( ETrue, KIsPrimaryVertical ); TInt itemIndex = 1; TInt rowIndex = 1; TInt colIndex = 1; gridView->DataIndexFromLogicalPos( itemIndex, rowIndex, colIndex ); _LIT( KDataIndexFromLogicalPos, "DataIndexFromLogicalPos test" ); AssertTrueL( ETrue, KDataIndexFromLogicalPos ); TInt negative = -2; gridView->LogicalPosFromDataIndex( itemIndex, rowIndex, colIndex ); gridView->LogicalPosFromDataIndex( negative, rowIndex, colIndex ); gridView->LogicalPosFromDataIndex( itemIndex, negative, colIndex ); gridView->LogicalPosFromDataIndex( negative, rowIndex, colIndex ); gridView->LogicalPosFromDataIndex( itemIndex, rowIndex, negative ); gridView->LogicalPosFromDataIndex( negative, rowIndex, negative ); gridView->LogicalPosFromDataIndex( itemIndex, negative, negative ); gridView->LogicalPosFromDataIndex( negative, negative, negative ); _LIT( KLogicalPosFromDataIndex, "LogicalPosFromDataIndex test" ); AssertTrueL( ETrue, KLogicalPosFromDataIndex ); CAknGridView::SGrid gridDetailPos1 = { size, 1, 1, 1, 1, size, size }; gridView->SetGridDetails( gridDetailPos1 ); gridView->ListBoxIndexFromLogicalPos( itemIndex, rowIndex, colIndex ); TInt isVisible = gridView->CalcNewTopItemIndexSoItemIsVisible( KZero ); CAknGridView::SGrid gridDetailPos2 = { size, 0, 1, 1, 1, size, size }; gridView->SetGridDetails( gridDetailPos2 ); gridView->ListBoxIndexFromLogicalPos( itemIndex, rowIndex, colIndex ); _LIT( KListBoxIndexFromLogicalPos, "ListBoxIndexFromLogicalPos test" ); AssertTrueL( ETrue, KListBoxIndexFromLogicalPos ); gridView->LogicalPosFromListBoxIndex( itemIndex, rowIndex, colIndex ); _LIT( KLogicalPosFromListBoxIndex, "LogicalPosFromListBoxIndex test" ); AssertTrueL( ETrue, KLogicalPosFromListBoxIndex ); gridView->DrawEmptyList(); _LIT( KDrawEmptyList, "DrawEmptyList test" ); AssertTrueL( ETrue, KDrawEmptyList ); CAknGridView::SGrid gridDetail = { size, 1, 1, 1, 1, size, size }; gridView->SetGridDetails( gridDetail ); _LIT( KSetGridDetails, "SetGridDetails test" ); AssertTrueL( ETrue, KSetGridDetails ); gridView->MoveToItemIndexL( itemIndex, CAknGridView::ENoSelection ); gridView->MoveToItemIndexL( negative, CAknGridView::ENoSelection ); _LIT( KMoveToItemIndex, "MoveToItemIndex test" ); AssertTrueL( ETrue, KMoveToItemIndex ); TInt numberOfColsInView = gridView->NumberOfColsInView(); _LIT( KNumberOfColsInView, "NumberOfColsInView test" ); AssertTrueL( ETrue, KNumberOfColsInView ); TInt numberOfRowsInView = gridView->NumberOfRowsInView(); _LIT( KNumberOfRowsInView, "NumberOfRowsInView test" ); AssertTrueL( ETrue, KNumberOfRowsInView ); gridView->DrawMatcherCursor(); _LIT( KDrawMatcherCursor, "DrawMatcherCursor test" ); AssertTrueL( ETrue, KDrawMatcherCursor ); TInt currentItemIndex = gridView->CurrentItemIndex(); _LIT( KCurrentItemIndex, "CurrentItemIndex test" ); AssertTrueL( ETrue, KCurrentItemIndex ); gridView->ScrollToMakeItemVisible( KNegative ); currentItemIndex = gridView->CurrentItemIndex(); TInt columnWidth = 1; gridView->SetColumnWidth( columnWidth ); _LIT( KSetColumnWidth, "SetColumnWidth test" ); AssertTrueL( ETrue, KSetColumnWidth ); gridView->MoveCursorL( CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorPreviousItem, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorNextColumn, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorPreviousColumn, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorPreviousPage, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorNextPage, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorFirstItem, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorLastItem, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorNextScreen, CAknGridView::ENoSelection ); gridView->MoveCursorL( CAknGridView::ECursorPrevScreen, CAknGridView::ENoSelection ); _LIT( KMoveCursorL, "MoveCursorL test" ); AssertTrueL( ETrue, KMoveCursorL ); gridView->Draw( NULL ); _LIT( KDraw, "Draw test" ); AssertTrueL( ETrue, KDraw ); gridView->DrawItem( itemIndex ); gridView->DrawItem( KZero ); _LIT( KDrawItem, "DrawItem test" ); AssertTrueL( ETrue, KDrawItem ); TPoint point = gridView->ItemPos( itemIndex ); _LIT( KItemPos, "ItemPos test" ); AssertTrueL( ETrue, KItemPos ); gridView->CalcBottomItemIndex(); _LIT( KCalcBottomItemIndex, "CalcBottomItemIndex test" ); AssertTrueL( ETrue, KCalcBottomItemIndex ); isVisible = gridView->CalcNewTopItemIndexSoItemIsVisible( itemIndex ); _LIT( KCalcNewTopItemIndexSoItemIsVisible, "CalcNewTopItemIndexSoItemIsVisible test" ); AssertTrueL( ETrue, KCalcNewTopItemIndexSoItemIsVisible ); gridView->DrawItemRange( KZero, KOne ); gridView->DrawItemRange( KNegative, KOne ); _LIT( KDrawItemRange, "DrawItemRange test" ); AssertTrueL( ETrue, KDrawItemRange ); gridView->SetTopItemIndex( itemIndex ); _LIT( KSetTopItemIndex, "SetTopItemIndex test" ); AssertTrueL( ETrue, KSetTopItemIndex ); gridView->SetItemHeight( KItemHeight ); _LIT( KSetItemHeight, "SetItemHeight test" ); AssertTrueL( ETrue, KSetItemHeight ); TBool posToItemIndex = gridView->XYPosToItemIndex( point, itemIndex ); _LIT( KXYPosToItemIndex, "XYPosToItemIndex test" ); AssertTrueL( ETrue, KXYPosToItemIndex ); gridView->CalcDataWidth(); _LIT( KCalcDataWidth, "CalcDataWidth test" ); AssertTrueL( ETrue, KCalcDataWidth ); TRect rect = iContainer->Rect(); TInt visibleWidth = gridView->VisibleWidth( rect ); _LIT( KVisibleWidth, "VisibleWidth test" ); AssertTrueL( ETrue, KVisibleWidth ); CAknGridView::SGrid gridDetailIndex1 = { size, 0, 1, 1, 1, size, size }; gridView->SetGridDetails( gridDetailIndex1 ); TBool visible = gridView->ScrollToMakeItemVisible( KOne ); visible = gridView->ScrollToMakeItemVisible( KNegative ); TInt itemIsVisible = gridView->CalculateHScrollOffsetSoItemIsVisible( itemIndex ); CAknGridView::SGrid gridDetailIndex2 = { size, 1, 1, 1, 1, size, size }; gridView->SetGridDetails( gridDetailIndex2 ); visible = gridView->ScrollToMakeItemVisible( KOne ); visible = gridView->ScrollToMakeItemVisible( KNegative ); _LIT( KScrollToMakeItemVisible, "ScrollToMakeItemVisible test" ); AssertTrueL( ETrue, KScrollToMakeItemVisible ); itemIsVisible = gridView->CalculateHScrollOffsetSoItemIsVisible( itemIndex ); _LIT( KCalculateHScrollOffsetSoItemIsVisible, "CalculateHScrollOffsetSoItemIsVisible test" ); AssertTrueL( ETrue, KCalculateHScrollOffsetSoItemIsVisible ); TSize itemSize = gridView->ItemSize( 0 ); _LIT( KItemSize, "ItemSize test" ); AssertTrueL( ETrue, KItemSize ); gridView->CalcRowAndColIndexesFromItemIndex( itemIndex, rowIndex, colIndex ); _LIT( KCalcRowAndColIndexesFromItemIndex, "CalcRowAndColIndexesFromItemIndex test" ); AssertTrueL( ETrue, KCalcRowAndColIndexesFromItemIndex ); gridView->CalcItemIndexFromRowAndColIndexes( itemIndex, rowIndex, colIndex ); _LIT( KCalcItemIndexFromRowAndColIndexes, "CalcItemIndexFromRowAndColIndexes test" ); AssertTrueL( ETrue, KCalcItemIndexFromRowAndColIndexes ); CBCTestForGridView* testForGridView = new( ELeave ) CBCTestForGridView(); CleanupStack::PushL( testForGridView ); /*CTextListBoxModel* listBoxModel = aknGrid->Model(); CDesCArray* array = iEnv->ReadDesCArrayResourceL( R_BCTESTGRIDS_ARRAY ); listBoxModel->ConstructL ( array, ELbmOwnsItemArray ); CFormattedCellListBoxItemDrawer* itemDrawer = aknGrid->ItemDrawer();*/ CAknGridM* listBoxModel = new( ELeave ) CAknGridM(); CleanupStack::PushL( listBoxModel ); CDesCArray* array = iEnv->ReadDesCArrayResourceL( R_BCTESTGRIDS_ARRAY ); CleanupStack::PushL( array ); listBoxModel->ConstructL ( array, ELbmOwnsItemArray ); CleanupStack::Pop( array ); CFormattedCellListBoxData* data = CFormattedCellListBoxData::NewL(); CleanupStack::PushL( data ); CFormattedCellListBoxItemDrawer* itemDrawer = new( ELeave ) CFormattedCellListBoxItemDrawer( listBoxModel, iEnv->NormalFont(), data ); CleanupStack::PushL( itemDrawer ); CWsScreenDevice* screen = iEnv->ScreenDevice(); RWindowGroup& groupWin = iEnv->RootWin(); RWindow& wsWindow = iContainer->Window(); testForGridView->ConstructL( listBoxModel, itemDrawer, screen, &groupWin, &wsWindow, rect, KItemHeight ); TSize gridDimension( KDimensionX, KDimensionY ); TSize betweenItems( KItemX, KItemY ); TSize sizeOfItem( size.iWidth / KOne, size.iHeight / KTwo ); TInt flags = CAknGridView::ELeftToRight | CAknGridView::ETopToBottom | CAknGridView::EPrimaryIsVertical; CAknGridView::SGrid gridDetail2 = { gridDimension, flags, KTwo, KOne, KTwo, betweenItems, sizeOfItem }; testForGridView->SetGridDetails( gridDetail2 ); TSize betweenItemsTwo( KNegative, KOne ); CAknGridView::SGrid gridDetail3 = { gridDimension, flags, KTwo, KOne, KTwo, betweenItemsTwo, sizeOfItem }; testForGridView->SetGridDetails( gridDetail3 ); TSize betweenItemsThree( KNegative, KNegative ); CAknGridView::SGrid gridDetail4 = { gridDimension, flags, KTwo, KOne, KTwo, betweenItemsThree, sizeOfItem }; testForGridView->SetGridDetails( gridDetail4 ); TInt startColIndex = 0; TInt endColIndex = 1; testForGridView->DrawColumnRange( startColIndex, endColIndex ); _LIT( KDrawColumnRange, "DrawColumnRange test" ); AssertTrueL( ETrue, KDrawColumnRange ); testForGridView->ClearUnusedItemSpace( KZero, KOne ); _LIT( KClearUnusedItemSpace, "ClearUnusedItemSpace test" ); AssertTrueL( ETrue, KClearUnusedItemSpace ); testForGridView->UpdateHScrollOffsetBasedOnTopItemIndex(); _LIT( KUpdateHScrollOffsetBasedOnTopItemIndex, "UpdateHScrollOffsetBasedOnTopItemIndex test" ); AssertTrueL( ETrue, KUpdateHScrollOffsetBasedOnTopItemIndex ); testForGridView->DoMoveL( CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); _LIT( KDoMoveL, "DoMoveL test" ); AssertTrueL( ETrue, KDoMoveL ); TBool itemExists = testForGridView->ItemExists( listBoxIndex ); _LIT( KItemExists, "ItemExists test" ); AssertTrueL( ETrue, KItemExists ); //for block coverage CAknGridView::SGrid gridDetailForScroll1 = { gridDimension, KOne, KOne, KOne, KOne, betweenItemsThree, sizeOfItem }; testForGridView->SetGridDetails( gridDetailForScroll1 ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollStops ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollStops ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollFollowsGrid ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollFollowsGrid ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollFollowsItemsAndStops ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollFollowsItemsAndStops ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); CAknGridView::SGrid gridDetailForScroll2 = { gridDimension, KZero, KOne, KOne, KOne, betweenItemsThree, sizeOfItem }; testForGridView->SetGridDetails( gridDetailForScroll2 ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollFollowsItemsAndLoops ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollFollowsItemsAndLoops ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollIncrementLineAndStops ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollIncrementLineAndStops ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); testForGridView->SetPrimaryScrollingType( CAknGridView::EScrollIncrementLineAndLoops ); testForGridView->SetSecondaryScrollingType( CAknGridView::EScrollIncrementLineAndLoops ); testForGridView->DoMoveL(CAknGridView::ECursorNextItem, CAknGridView::ENoSelection ); testForGridView->DoMoveL(CAknGridView::ECursorPreviousItem, CAknGridView::ENoSelection ); testForGridView->DoMoveL(CAknGridView::ECursorNextColumn, CAknGridView::ENoSelection ); testForGridView->DoMoveL(CAknGridView::ECursorPreviousColumn, CAknGridView::ENoSelection ); CleanupStack::Pop( itemDrawer ); CleanupStack::Pop( data ); CleanupStack::PopAndDestroy( listBoxModel ); CleanupStack::PopAndDestroy( testForGridView ); CleanupStack::PopAndDestroy( aknGrid ); _LIT( KDesCAknGridView, "~CAknGridView test" ); AssertTrueL( ETrue, KDesCAknGridView ); }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // TInt CMmGridContainer::RowsInCurrentView() { CAknGridView* view ( (CAknGridView*) iGrid->View() ); return view->NumberOfRowsInView(); }