classicui_pub/grids_api/tsrc/src/testsdkgridsblocksakngmsstylegrid.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/grids_api/tsrc/src/testsdkgridsblocksakngmsstylegrid.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,543 @@
+/*
+* 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 akngmsstylegrid.h
+*
+*/
+
+
+/*
+ *  [INCLUDE FILES]
+ */
+#include <akngmsstylegrid.h>
+#include <stifparser.h>
+#include <eiklbo.h>
+#include <aknview.h> 
+#include <coeaui.h>
+#include <coecobs.h>
+#include <akngrid.h>
+#include <w32std.h>
+#include <testsdkgrids.rsg>
+#include <barsread.h>
+#include <eikdialg.h>
+
+#include "testsdkgridscontainer.h"
+#include "testsdkgrids.h"
+
+const TInt KRectWidth = 50;
+const TInt KRectHeight = 50;
+const TInt KZero = 0;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+//==========================class CAknGMSStyleGridView==========================
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGVConstuctionL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGVConstuctionL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGVConstuctionL, "In TestGridsGMSSGVConstuctionL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGVConstuctionL );
+
+    CAknGMSStyleGridView* gridView = new( ELeave ) CAknGMSStyleGridView();
+    CleanupStack::PushL( gridView );
+    STIF_ASSERT_NOT_NULL( gridView );
+    CleanupStack::PopAndDestroy( gridView );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGVDrawL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGVDrawL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGVDrawL, "In TestGridsGMSSGVDrawL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGVDrawL );
+    iLog->Log( KTestGridsGMSSGVDrawL );
+    
+    CAknGMSStyleGridView* gridView = new( ELeave ) CAknGMSStyleGridView();
+    CleanupStack::PushL( gridView );
+    CAknGrid* grid = new( ELeave ) CAknGrid();
+    CleanupStack::PushL( grid );
+    
+    CAknGridM* model = new( ELeave ) CAknGridM();
+    CleanupStack::PushL( model );
+    grid->SetModel( model );
+    CleanupStack::Pop( model );
+    
+    TResourceReader reader;
+    CEikonEnv::Static()->CreateResourceReaderLC( reader, R_TESTSDKGRIDS_GRID );
+    grid->SetContainerWindowL( *iContainer );
+    grid->ConstructFromResourceL( reader );
+    
+    CTextListBoxModel* modeltwo = grid->Model();
+    CListItemDrawer* drawer = grid->ItemDrawer();
+    CWsScreenDevice * screendevice = CEikonEnv::Static()->ScreenDevice();
+    RWindowGroup& parent = CCoeEnv::Static()->RootWin();
+    CEikDialog* mydialog= new(ELeave) CEikDialog; 
+    mydialog->PrepareLC(R_TEST_DIALOG); 
+    RWindow* window = (RWindow*)mydialog->DrawableWindow(); 
+    TRect rect( TPoint( KRectWidth, KRectHeight ), TPoint( KRectWidth, KRectHeight ));
+    
+    gridView->ConstructL( modeltwo, drawer, screendevice, &parent, window, rect, KZero );
+    gridView->SetupLayout( rect, ETrue, KZero );
+    gridView->Draw();
+    
+    CleanupStack::PopAndDestroy( mydialog );
+    CleanupStack::PopAndDestroy();
+    CleanupStack::PopAndDestroy( grid );
+    CleanupStack::Pop( gridView );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGVSetupLayoutL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGVSetupLayoutL( CStifItemParser& aItem )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGVSetupLayoutL, "In TestGridsGMSSGVSetupLayoutL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGVSetupLayoutL );
+    iLog->Log( KTestGridsGMSSGVSetupLayoutL );
+
+    CAknGMSStyleGridView* gridView = new( ELeave ) CAknGMSStyleGridView();
+    CleanupStack::PushL( gridView );
+
+    TRect rect = iContainer->Rect();
+    
+    TInt flag;
+    TInt err = aItem.GetNextInt( flag );
+    if( err != KErrNone)
+        return err;
+    switch ( flag )
+        {
+        case 1:
+            gridView->SetupLayout( rect, EFalse, -1 );
+            break;
+        case 2:
+            gridView->SetupLayout( rect, ETrue, 1 );
+            break;
+        default:
+            break;
+        }
+
+    CleanupStack::PopAndDestroy( gridView );
+
+    return KErrNone;
+    }
+
+//================================CAknGMSStyleGrid=============================//
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGNewL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGNewL( CStifItemParser& aItem )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGNewL, "In TestGridsGMSSGNewL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGNewL );
+    iLog->Log( KTestGridsGMSSGNewL );
+
+    TInt flag;
+    TInt err = aItem.GetNextInt( flag );
+    if( err != KErrNone)
+        return err;
+    switch ( flag )
+        {
+        case 1:
+            iStyleGrid = CAknGMSStyleGrid::NewL( iContainer , EFalse );
+            STIF_ASSERT_NOT_NULL( iStyleGrid );
+            break;
+        case 2:
+            iStyleGrid = CAknGMSStyleGrid::NewL( iContainer , ETrue );
+            STIF_ASSERT_NOT_NULL( iStyleGrid );
+            break;
+        default:
+            break;
+        }
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGConstructionL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGConstructionL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGConstructionL, "In TestGridsGMSSGConstructionL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGConstructionL );
+    iLog->Log( KTestGridsGMSSGConstructionL );
+
+    iStyleGrid = new( ELeave ) CAknGMSStyleGrid();
+    STIF_ASSERT_NOT_NULL( iStyleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGConstructionWithTBoolL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGConstructionWithTBoolL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGConstructionWithTBoolL, "In TestGridsGMSSGConstructionWithTBoolL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGConstructionWithTBoolL );
+    iLog->Log( KTestGridsGMSSGConstructionWithTBoolL );
+
+    iStyleGrid = new( ELeave ) CAknGMSStyleGrid( EFalse );
+    STIF_ASSERT_NOT_NULL( iStyleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGConstructL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGConstructL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGConstructL, "In TestGridsGMSSGConstructL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGConstructL );
+    iLog->Log( KTestGridsGMSSGConstructL );
+
+    TInt err;
+    TRAP( err, iStyleGrid->ConstructL( iContainer, 1, 1 ) );
+
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGDelete
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGDelete( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGDelete, "In TestGridsGMSSGDelete" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGDelete );
+    iLog->Log( KTestGridsGMSSGDelete );
+
+    delete iStyleGrid;
+    iStyleGrid = NULL;
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGSetupLayout
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGSetupLayout( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGSetupLayout, "In TestGridsGMSSGSetupLayout" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGSetupLayout );
+    iLog->Log( KTestGridsGMSSGSetupLayout );
+
+    iStyleGrid->SetupLayout();
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGHandlePointerEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGHandlePointerEventL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGHandlePointerEventL, "In TestGridsGMSSGHandlePointerEventL" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGHandlePointerEventL );
+    iLog->Log( KTestGridsGMSSGHandlePointerEventL );
+
+    TInt err;
+    TPointerEvent pointerEvent( TPointerEvent::EButton1Up,
+            EModifierAutorepeatable, TPoint( 20, 20 ), TPoint( 0, 0 ) );
+    TRAP( err, iStyleGrid->HandlePointerEventL( pointerEvent ) ); 
+
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGSizeChanged
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGSizeChanged( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGSizeChanged, "In TestGridsGMSSGSizeChanged" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGSizeChanged );
+    iLog->Log( KTestGridsGMSSGSizeChanged );
+
+    iStyleGrid->SizeChanged();
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGMinimumSize
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGMinimumSize( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    TSize minimumSize = iStyleGrid->MinimumSize();
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGOfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGOfferKeyEventL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    TInt err;
+    TKeyEvent keyEvent = { EKeyPause, EStdKeySpace, 0, 0  };
+
+    TRAP( err, iStyleGrid->OfferKeyEventL( keyEvent, EEventNull ) );
+
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGDraw
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGDraw( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    TRect rect = iContainer->Rect();
+    iStyleGrid->Draw( rect );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSSGMakeViewClassInstanceL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSSGMakeViewClassInstanceL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CListBoxView* listBoxView = iStyleGrid->MakeViewClassInstanceL();
+    CleanupStack::PushL( listBoxView );
+
+    STIF_ASSERT_NOT_NULL( listBoxView );
+    
+    CleanupStack::PopAndDestroy( listBoxView );
+    
+    return KErrNone;
+    }
+
+//==============================class CAknGMSPopupGrid==========================
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGNewL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGNewL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    STIF_ASSERT_NOT_NULL( popupGrid );
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGSetupWindowLayoutL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGSetupWindowLayoutL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EMenuWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EMenuGraphicWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EMenuGraphicHeadingWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EMenuDoubleWindow );
+    popupGrid->SetupWindowLayout( 
+        AknPopupLayouts::EMenuDoubleLargeGraphicWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EPopupSNotePopupWindow );
+    popupGrid->SetupWindowLayout( 
+        AknPopupLayouts::EMenuUnknownColumnWindow );
+    popupGrid->SetupWindowLayout( 
+        AknPopupLayouts::EMenuUnknownFormattedCellWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EDynMenuWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EDynMenuGraphicWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EDynMenuGraphicHeadingWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EDynMenuDoubleWindow );
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EDynMenuDoubleLargeGraphicWindow );
+
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGCalcPopupGridLargeGraphicWindowL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGCalcPopupGridLargeGraphicWindowL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    TAknPopupWindowLayoutDef def;
+    TRect rect = iContainer->Rect();
+    TInt lines = 1;
+
+    popupGrid->CalcPopupGridLargeGraphicWindow( def, rect, lines );
+
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGSetupPopupGridLargeGraphicWindowL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGSetupPopupGridLargeGraphicWindowL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    popupGrid->SetupWindowLayout( AknPopupLayouts::EMenuDoubleWindow );
+    TAknPopupWindowLayoutDef def;
+    TInt lines = 1;
+
+    popupGrid->SetupPopupGridLargeGraphicWindow( def, lines, ETrue );
+
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGPopupGridLargeGraphicGraphicsL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGPopupGridLargeGraphicGraphicsL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    TAknPopupWindowLayoutDef def;
+
+    popupGrid->PopupGridLargeGraphicGraphics( def );
+
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// Ctestsdkgrids::TestGridsGMSPGHandlePointerEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKGrids::TestGridsGMSPGHandlePointerEventL( CStifItemParser& /*aItem*/ )
+    {
+    _LIT( Ktestsdkgrid, "testsdkgrid" );
+    _LIT( KTestGridsGMSSGMinimumSize, "In TestGridsGMSSGMinimumSize" );
+    TestModuleIf().Printf( 0, Ktestsdkgrid, KTestGridsGMSSGMinimumSize );
+    iLog->Log( KTestGridsGMSSGMinimumSize );
+
+    CAknGMSStyleGrid* styleGrid = CAknGMSStyleGrid::NewL( iContainer, EFalse );
+    CleanupStack::PushL( styleGrid );
+    CAknGMSPopupGrid* popupGrid = CAknGMSPopupGrid::NewL( styleGrid, R_GRIDS_CBA_OK_BACK, AknPopupLayouts::EMenuWindow );
+    CleanupStack::PushL( popupGrid );
+
+    TPointerEvent pointerEvent( TPointerEvent::EButton1Up,
+            EModifierAutorepeatable, TPoint( 20, 20 ), TPoint( 0, 0 ) );
+    popupGrid->HandlePointerEventL( pointerEvent );
+
+    CleanupStack::PopAndDestroy( popupGrid );
+    CleanupStack::PopAndDestroy( styleGrid );
+
+    return KErrNone;
+    }
+
+/*
+ * End files
+ */