📄 aknexgridappui.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 + -