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

📄 aknexgridappui.cpp

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


#include <akntabgrp.h>
#include <aknnavide.h>

#include "AknExGridAppUi.h"
#include "AknExGridView.h"
#include "AknExGridViewAsSelection.h"
#include "AknExGridViewAsMenu.h"
#include "AknExGridViewAsMarkableSelection.h"
#include "AknExGridContainer.h"
#include "AknExGridViewAsGMS.h"


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

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

    // Create a main view
    CAknExGridView* viewMain = CAknExGridView::NewL();
    AddViewL( viewMain );         // transfer ownership to CAknViewAppUi

    // Create a view for selection grid
    CAknExGridViewAsSelection* viewSel =
        CAknExGridViewAsSelection::NewL();
    AddViewL( viewSel );          // transfer ownership to CAknViewAppUi

    // Create a view for menu grid
    CAknExGridViewAsMenu* viewMenu = CAknExGridViewAsMenu::NewL();
    AddViewL( viewMenu );         // transfer ownership to CAknViewAppUi

    // Create a view for markable selection grid
    CAknExGridViewAsMarkableSelection* viewMarkableSel =
        CAknExGridViewAsMarkableSelection::NewL();
    AddViewL( viewMarkableSel );  // transfer ownership to CAknViewAppUi

    // Create a view for GMS grid
    CAknExGridViewAsGMS* viewGMS = CAknExGridViewAsGMS::NewL();
    AddViewL( viewGMS );         // transfer ownership to CAknViewAppUi

    // Show tabs for main views from resources
    CEikStatusPane *sp = StatusPane();

    // Fetch pointer to the default navi pane control
    iNaviPane = (CAknNavigationControlContainer*)sp->ControlL(
        TUid::Uid( EEikStatusPaneUidNavi ) );

    // Tab is activated in in tabgroup resource,
    // but it could also be done like this:
    // iTabGroup->SetActiveTabById( EStatusTitleViewId );

    // Tabgroup has been read from resource and it were pushed
    // to the navi pane. Get pointer to the navigation decorator
    // with the ResourceDecorator() function. Application owns the
    // decorator and it has responsibility to delete the object.
    iDecoratedTabGroup = iNaviPane->ResourceDecorator();
    if ( iDecoratedTabGroup )
        {
        iTabGroup = ( CAknTabGroup* ) iDecoratedTabGroup->DecoratedControl();
        }

    // set a view
    if ( iTabGroup )
        {
        ActivateLocalViewL( TUid::Uid( iTabGroup->ActiveTabId() ) );
        }
    else  // just in case
        {
        ActivateLocalViewL( viewMain->Id() );
        }
    }

// -----------------------------------------------------------------------------
// CAknExGridAppUi::~CAknExGridAppUi()
// Destructor.
// -----------------------------------------------------------------------------
//
CAknExGridAppUi::~CAknExGridAppUi()
    {
    delete iDecoratedTabGroup;
    delete iAppContainer;
    }

// -----------------------------------------------------------------------------
// CAknExGridAppUi::ChangeActiveViewAndTabL()
// Change active views and tabs.
// -----------------------------------------------------------------------------
//
void CAknExGridAppUi::ChangeActiveViewAndTabL( TUid aViewUid, TInt aTabId )
    {
    if ( iTabGroup )
        {
        iTabGroup->SetActiveTabById( aTabId );
        }

    ActivateLocalViewL( aViewUid );
    }


// -----------------------------------------------------------------------------
// CAknExGridAppUi::SetShortcutFlag()
// Set iShortcutFlag.
// -----------------------------------------------------------------------------
//
void CAknExGridAppUi::SetShortcutFlag( TBool aFlag )
    {
    iShortcutFlag = aFlag;
    }

// -----------------------------------------------------------------------------
// CAknExGridAppUi::ShortcutFlag()
// Get iShortcutFlag.
// -----------------------------------------------------------------------------
//
TBool CAknExGridAppUi::ShortcutFlag()
    {
    return iShortcutFlag;
    }

// -----------------------------------------------------------------------------
// CAknExGridAppUi::HandleKeyEventL()
//
// -----------------------------------------------------------------------------
//
TKeyResponse CAknExGridAppUi::HandleKeyEventL(
const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/ )
    {
    return EKeyWasNotConsumed;
    }

// -----------------------------------------------------------------------------
// CAknExGridAppUi::HandleCommandL()
// Handles the commands.
// -----------------------------------------------------------------------------
//
void CAknExGridAppUi::HandleCommandL( TInt aCommand )
    {
    switch ( aCommand )
        {
        case EEikCmdExit:
        case EAknCmdExit:
            {
            Exit();
            break;
            }

        default:
            break;
        }
    }

// End of File

⌨️ 快捷键说明

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