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 + -
显示快捷键?