activeobjappui.cpp
来自「活动对象的例子,是从诺基亚的网站上下载的」· C++ 代码 · 共 146 行
CPP
146 行
/*
============================================================================
Name : ActiveObjAppUi.cpp
Author :
Version :
Copyright : Forum Nokia, 2006
Description : Main application UI class (controller)
============================================================================
*/
// INCLUDE FILES
#include <avkon.hrh>
#include <aknnotewrappers.h>
#include <stringloader.h>
#include <ActiveObj.rsg>
#include <f32file.h>
#include <s32file.h>
#include "ActiveObj.pan"
#include "ActiveObjAppUi.h"
#include "ActiveObjAppView.h"
#include "ActiveObj.hrh"
// -----------------------------------------------------------------------------
// CActiveObjAppUi::ConstructL()
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CActiveObjAppUi::ConstructL()
{
// Initialise app UI with standard value.
BaseConstructL();
// Create view object
iAppView = CActiveObjAppView::NewL( ClientRect() );
}
// -----------------------------------------------------------------------------
// CActiveObjAppUi::CActiveObjAppUi()
// C++ default constructor can NOT contain any code, that might leave.
// -----------------------------------------------------------------------------
//
CActiveObjAppUi::CActiveObjAppUi()
{
// No implementation required
}
// -----------------------------------------------------------------------------
// CActiveObjAppUi::~CActiveObjAppUi()
// Destructor.
// -----------------------------------------------------------------------------
//
CActiveObjAppUi::~CActiveObjAppUi()
{
if ( iAppView )
{
delete iAppView;
iAppView = NULL;
}
}
// -----------------------------------------------------------------------------
// CActiveObjAppUi::HandleCommandL()
// Takes care of command handling.
// -----------------------------------------------------------------------------
//
void CActiveObjAppUi::HandleCommandL( TInt aCommand )
{
switch( aCommand )
{
case EEikCmdExit:
case EAknSoftkeyExit:
Exit();
break;
case ECommandStartSort:
{
DoStartSortL();
break;
}
case ECommandCancelSort:
{
DoCancelSortL();
break;
}
case ECommandSyncSort:
{
DoSyncSortL();
break;
}
default:
Panic( EActiveObjUi );
break;
}
}
// -----------------------------------------------------------------------------
// Called by the framework when the application status pane
// size is changed. Passes the new client rectangle to the
// AppView
// -----------------------------------------------------------------------------
//
void CActiveObjAppUi::HandleStatusPaneSizeChange()
{
iAppView->SetRect( ClientRect() );
}
void CActiveObjAppUi::DoCancelSortL()
{
if ( iAppView->IsSorting())
{
iAppView->CancelSortL();
}
}
void CActiveObjAppUi::DoStartSortL()
{
if ( !iAppView->IsSorting())
{
iAppView->SortL();
}
}
void CActiveObjAppUi::DoSyncSortL()
{
iAppView->SyncSortL();
}
void CActiveObjAppUi::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
if ( aResourceId == R_ACTIVEOBJ_MENU )
{
if ( iAppView->IsSorting())
{
aMenuPane->SetItemDimmed( ECommandStartSort, ETrue );
}
else
{
aMenuPane->SetItemDimmed( ECommandCancelSort,ETrue );
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?