⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aknexgridviewasgms.cpp

📁 symbian 格子的生成和使用源代码 让你明白九宫格生成原理 适合游戏开发
💻 CPP
字号:
/* Copyright (c) 2004, Nokia. All rights reserved */


// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>
#include <AknGridView.h>
#include <akntitle.h>
#include <AknExGrid.rsg>

#include "AknExGridAppUi.h"
#include "AknExGridView.h"
#include "AknExGridViewAsGMS.h"
#include "AknExGridContainerAsGMS.h"
#include "AknExGrid.hrh"


// ============================ MEMBER FUNCTIONS ===============================

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::NewL()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CAknExGridViewAsGMS* CAknExGridViewAsGMS::NewL()
    {
    CAknExGridViewAsGMS* self = CAknExGridViewAsGMS::NewLC();
    CleanupStack::Pop( self );
    return self;
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::NewLC()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CAknExGridViewAsGMS* CAknExGridViewAsGMS::NewLC()
    {
    CAknExGridViewAsGMS* self = new ( ELeave ) CAknExGridViewAsGMS();
    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::ConstructL()
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CAknExGridViewAsGMS::ConstructL()
    {
    BaseConstructL( R_EXGR_VIEW_GMS );
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::~CAknExGridViewAsGMS()
// Destructor.
// -----------------------------------------------------------------------------
//
CAknExGridViewAsGMS::~CAknExGridViewAsGMS()
    {
    if ( iContainer )
        {
        AppUi()->RemoveFromStack( iContainer );
        }

    delete iContainer;
    }

// -----------------------------------------------------------------------------
// TUid CAknExGridViewAsGMS::Id()
// Returns the View Id.
// -----------------------------------------------------------------------------
//
TUid CAknExGridViewAsGMS::Id() const
    {
    return KViewGMSId;
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::HandleCommandL()
// Handles the commands.
// -----------------------------------------------------------------------------
//
void CAknExGridViewAsGMS::HandleCommandL( TInt aCommand )
    {
    switch ( aCommand )
        {
        case EAknSoftkeyBack:
        case EAknExGridCmdClose:
            {
            CEikStatusPane *sp = StatusPane();
            CAknTitlePane* titlePane = static_cast<CAknTitlePane*>
                ( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );

            titlePane->SetTextToDefaultL();
            static_cast<CAknExGridAppUi*>( AppUi() )
                ->ChangeActiveViewAndTabL( KViewId, EAknExGridViewTab );
            break;
            }

        case EAknExGridCmdShowPopupGMS:
            iContainer->ShowPopupGMSGridL();
            break;

        case ESGridSoftKeyNext:
            {
            if( iContainer->AutoTestL() )
                {
                CEikStatusPane *sp = StatusPane();
                CAknTitlePane* titlePane = static_cast<CAknTitlePane*>
                    ( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
                titlePane->SetTextToDefaultL();
                static_cast<CAknExGridAppUi*>( AppUi() )
                    ->ChangeActiveViewAndTabL( KViewId, EAknExGridViewTab );
                }
            break;
            }

        default:
            AppUi()->HandleCommandL( aCommand );
            break;
        }
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::HandleClientRectChange()
// Handles the size of the clientrect.
// -----------------------------------------------------------------------------
//
void CAknExGridViewAsGMS::HandleClientRectChange()
    {
    if ( iContainer )
        {
        iContainer->SetRect( ClientRect() );
        }
    }

// -----------------------------------------------------------------------------
// CAknExGridViewAsGMS::DoActivateL()
// Creates the Container class object.
// -----------------------------------------------------------------------------
//
void CAknExGridViewAsGMS::DoActivateL(
    const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/,
    const TDesC8& /*aCustomMessage*/ )
    {
    iContainer = CAknExGridContainerAsGMS::NewL( ClientRect() );
    AppUi()->AddToStackL( *this, iContainer );
    }

// -----------------------------------------------------------------------------
// CAknExGridView::DoDeactivate()
// Deletes the Container class object.
// -----------------------------------------------------------------------------
//
void CAknExGridViewAsGMS::DoDeactivate()
    {
    if ( iContainer )
        {
        AppUi()->RemoveFromStack( iContainer );
        }

    delete iContainer;
    iContainer = NULL;
    }

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -