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

📄 s60mmflabappui.cpp

📁 symbian OS s60 多媒体API的使用
💻 CPP
字号:
// Copyright (c) 2006 Nokia Corporation.

// INCLUDE FILES
#include "S60MMFLabAppUi.h"
#include "S60MMFLabContainer.h" 
#include <S60mmflab.rsg>
#include "s60mmflab.hrh"
#include <avkon.hrh>
#include <eikmenup.h>
#include <S60MMFLab.rsg>

// ================= MEMBER FUNCTIONS =======================
//
// ----------------------------------------------------------
// CS60MMFLabAppUi::ConstructL()
// 
// ----------------------------------------------------------
//
void CS60MMFLabAppUi::ConstructL()
    {
    BaseConstructL(EAknEnableSkin);

    iAppContainer = new (ELeave) CS60MMFLabContainer;
    iAppContainer->SetMopParent( this );

    iToneUtility = CS60MMFLabToneUtility::NewL();
    iPlayerUtility = CS60MMFLabPlayerUtility::NewL();

    // start with tone utility
    iCurrentUtility = EToneUtility;
    iAppContainer->ConstructL( ClientRect(), iToneUtility->GetLabel());

    AddToStackL( iAppContainer );
    }

// ----------------------------------------------------
// CS60MMFLabAppUi::~CS60MMFLabAppUi()
// Destructor
// Frees reserved resources
// ----------------------------------------------------
//
CS60MMFLabAppUi::~CS60MMFLabAppUi()
    {
    if (iAppContainer)
        {
        RemoveFromStack( iAppContainer );
        delete iAppContainer;
        }
        
    delete iToneUtility;
    delete iPlayerUtility;
}

// ------------------------------------------------------------------------------
// CS60MMFLabAppUi::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
//  This function is called by the EIKON framework just before it displays
//  a menu pane. Its default implementation is empty, and by overriding it,
//  the application can set the state of menu items dynamically according
//  to the state of application data.
// ------------------------------------------------------------------------------
//
void CS60MMFLabAppUi::DynInitMenuPaneL(
    TInt aResourceId, CEikMenuPane* aMenuPane)
    {
	if (aResourceId == R_S60MMFLAB_MENU)
		{
		if (iCurrentUtility == EToneUtility)
		    {
			iToneUtility->SetOptionsMenuL(aMenuPane);
		    }
		else if (iCurrentUtility == EPlayerUtility)
		    {
			iPlayerUtility->SetOptionsMenuL(aMenuPane);
		    }
		}
    }

// ----------------------------------------------------
// CS60MMFLabAppUi::HandleCommandL(TInt aCommand)
// takes care of command handling
// ----------------------------------------------------
//
void CS60MMFLabAppUi::HandleCommandL(TInt aCommand)
    {
    switch ( aCommand )
        {
        case EAknSoftkeyBack:
        case EEikCmdExit:
            {
            Exit();
            break;
            }
            
        case ES60MMFLabCmdAppChange:
            {
            break;
            }
            
        case ES60MMFLabCmdAppPlay:
            {
			if (iCurrentUtility==EToneUtility)
				iToneUtility->Play();
			else if (iCurrentUtility==EPlayerUtility)
				iPlayerUtility->Play();
			break;
			}
			
        case ES60MMFLabCmdAppStop:
            {
			if (iCurrentUtility==EToneUtility)
				iToneUtility->CancelPlay();
			else if (iCurrentUtility==EPlayerUtility)
				iPlayerUtility->Stop();
			break;
			}
			
        case ES60MMFLabCmdAppTonePlayer:
            {
		    iCurrentUtility = EToneUtility;
			iAppContainer->SetLabelL(iToneUtility->GetLabel());
		    iAppContainer->DrawNow();
            break;
            }
            
        case ES60MMFLabCmdAppAudioPlayer:
            {
		    iCurrentUtility = EPlayerUtility;
			iAppContainer->SetLabelL(iPlayerUtility->GetLabel());
		    iAppContainer->DrawNow();
            break;
            }
       
        default:
            break;      
        }
    }

// -----------------------------------------------------------------------------
// CS60MMFLabAppUi::HandleScreenDeviceChangedL
// Handle change in screen resolution.
// -----------------------------------------------------------------------------
//
void CS60MMFLabAppUi::HandleScreenDeviceChangedL()
    {
    CAknAppUi::HandleScreenDeviceChangedL();

    // Reposition the view
    if ( iAppContainer )
        {
        iAppContainer->SetRect(ClientRect());
        }
    }
    
// End of File  

⌨️ 快捷键说明

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