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