classicui_pub/grids_api/tsrc/src/testsdkgridsblocksakngmsstylegrid.cpp
author William Roberts <williamr@symbian.org>
Wed, 10 Nov 2010 12:08:34 +0000
branchRCL_3
changeset 76 5c9f0ba5102a
parent 0 2f259fa3e83a
permissions -rw-r--r--
Improve debug tracing of AknGlobalNote::StartL - Bug 2673

/*
* 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
 */