smbmusicapmainplayerfilterprocessmoveview.cpp

来自「symbian」· C++ 代码 · 共 484 行 · 第 1/2 页

CPP
484
字号
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerFilterProcessMoveView.cpp
//
// Description:
//	儈儏乕僕僢僋儊僀儞僾儗僀儎
//	儕僗僩庢摼乮儕僗僩偐傜乯張棟僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅				|曄峏幰			|撪梕
//---------------------------------------------------------------------------
//2006/08/16		|SDNA嶳壀		|怴婯嶌惉
//2007/09/17		|SEMCJ暯壀		|D_82400014801懳墳

#include <FjAfEnv.h>

#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayer.hrh"
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerCommonDef.h"

#include "SmbMusicAPMainPlayerUtility.h"
#include "SmbMusicAPMainPlayerFilterProcessMoveView.h"

USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN

/**
 僐儞僗僩儔僋僞
 * @param[in]	aObserver	僆僽僓乕僶
 * @return	側偟
 */
CSmbMusicAPMainPlayerFilterProcessMoveView::CSmbMusicAPMainPlayerFilterProcessMoveView(MSmbMusicAPMainPlayerFilterProcessObserver& aObserver)
	:CSmbMusicAPMainPlayerFilterProcess(aObserver)
	, iEvent(EFilterProcessMoveViewEventStart)
	, iState(EFilterProcessMoveViewStateIdle)
	, iLog(CAfEnv::Static()->Log())
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 00;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::CSmbMusicAPMainPlayerFilterProcessMoveView()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
	}

/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPMainPlayerFilterProcessMoveView::~CSmbMusicAPMainPlayerFilterProcessMoveView()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 10;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::~CSmbMusicAPMainPlayerFilterProcessMoveView()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
	}


/**
 僷儔儊乕僞愝掕
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndex			僀儞僨僢僋僗
 * @param[in]	aKind			嶍彍張棟偺庬椶
 * @return						愝掕偺惉斲
 */
TBool CSmbMusicAPMainPlayerFilterProcessMoveView::SetParam(CSmbMusicAPMainPlayerFilterView* aFilterView, TBool aDirection, TUid aViewUid, TInt aListHandle, TInt aItemCount)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 20;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::SetParam(aListHandle:0x%08x,aItemCount:%d)");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aListHandle, aItemCount);
#endif

	if( EFilterProcessMoveViewStateIdle			== iState ||
		EFilterProcessMoveViewStateWaitStart	== iState )
		{
		iFilterView	= aFilterView;
		iDirection  = aDirection;
		iViewUid    = aViewUid;
		iListHandle	= aListHandle;
		iItemCount  = aItemCount;
		iState = EFilterProcessMoveViewStateWaitStart;
		return ETrue;
		}
	else
		{
		TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 21;
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::SetParam() Cannot Set in This State %d");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
		return EFalse;
		}
	}

/**
 儕僗僩僴儞僪儖庢摼
 * @param	側偟
 * @return	儕僗僩僴儞僪儖
 */
TInt CSmbMusicAPMainPlayerFilterProcessMoveView::GetParamListHandle()
	{
	return iListHandle;
	}

/**
 傾僀僥儉悢傪庢摼
 * @param	側偟
 * @return	傾僀僥儉悢
 */
TInt CSmbMusicAPMainPlayerFilterProcessMoveView::GetParamItemCount()
	{
	return iItemCount;
	}

/**
 師偺僔乕働儞僗傪幚峴偡傞
 * @param[in]	aEvent		僀儀儞僩斣崋
 * @return					側偟
 */
void CSmbMusicAPMainPlayerFilterProcessMoveView::NextSequence(TFilterProcessMoveViewEvent aEvent)
	{
// Change-S PTX-824(TRK-658)懳墳丂暯壀
//	iEvent	= aEvent;
//	DoSequence();
	DoInternalSequence(aEvent);
// Change-E PTX-824(TRK-658)懳墳丂暯壀
	}

// Add-S PTX-824(TRK-658)懳墳丂暯壀
/**
 * 僐儅儞僪張棟傪幚峴偡傞
 * @param	側偟
 * @return	側偟
 */
void CSmbMusicAPMainPlayerFilterProcessMoveView::DoSequence()
	{
	DoInternalSequence(iEvent);
	}
// Add-E PTX-824(TRK-658)懳墳丂暯壀

/**
 * 僐儅儞僪張棟傪幚峴偡傞
 * @param	側偟
 * @return	側偟
 */
// Change-S PTX-824(TRK-658)懳墳丂暯壀
// void CSmbMusicAPMainPlayerFilterProcessMoveView::DoSequence()
void CSmbMusicAPMainPlayerFilterProcessMoveView::DoInternalSequence(TFilterProcessMoveViewEvent aEvent)
// Change-E PTX-824(TRK-658)懳墳丂暯壀
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 50;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::DoSequence() iState:%d iEvent:%d");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, iEvent);
#endif

	switch(iState)
		{
//-------------------------------------------------------------------- 張棟奐巒懸偪 --------------------------------------------------------------------
	case EFilterProcessMoveViewStateWaitStart:
		{
// Change-S PTX-824(TRK-658)懳墳丂暯壀
//		if(EFilterProcessMoveViewEventStart == iEvent)
		if(EFilterProcessMoveViewEventStart == aEvent)
// Change-E PTX-824(TRK-658)懳墳丂暯壀
			{
			// 巕夋柺傊堏摦
			if(EFalse!=iDirection)
				{
				// 巕夋柺偺ListView傪儕僗僩價儏乕娗棟偐傜庢摼偡傞
				iListView = iFilterView->ViewModel()->FindListViewByViewUid(iViewUid);
				if(NULL!=iListView)
					{
					// 張棟弨旛姰椆忬懺偵慗堏偡傞
					iState	= EFilterProcessMoveViewStateReadyForStart;
					iEvent	= EFilterProcessMoveViewEventFindTargetView;
					NextState();
					}
				else
					{
					iState	= EFilterProcessMoveViewStateErr;
					iResult	= KErrArgument;
					NextState();
					}
				}
			// 恊夋柺傊堏摦
			else
				{
				// 巕夋柺偺ListView傪儕僗僩價儏乕娗棟偐傜庢摼偡傞
				iListView = iFilterView->ViewModel()->FindListViewByViewUid(iViewUid);
				// 張棟弨旛姰椆忬懺偵慗堏偡傞
				iState	= EFilterProcessMoveViewStateReadyForStart;
				iEvent	= EFilterProcessMoveViewEventFindTargetView;
				NextState();
				}
			}
		else
			{
			TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 51;
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::DoSequence() Unknown Kind iState:%d iEvent:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
			}
		}
		break;

//-------------------------------------------------------------------- 張棟弨旛姰椆 --------------------------------------------------------------------
	case EFilterProcessMoveViewStateReadyForStart:
		{
// Change-S PTX-824(TRK-658)懳墳丂暯壀
//		if(EFilterProcessMoveViewEventFindTargetView == iEvent)
		if(EFilterProcessMoveViewEventFindTargetView == aEvent)
// Change-E PTX-824(TRK-658)懳墳丂暯壀
			{
			// 巕夋柺傊堏摦
			if(EFalse!=iDirection)
				{
				// 巕夋柺偺儌僨儖傪儕僙僢僩偡傞
				iListView->ResetListInfo();
				// 巕夋柺偵儕僗僩僴儞僪儖偲傾僀僥儉悢傪愝掕偡傞
				iListView->SetListHandle(iListHandle);
				iListView->SetItemCount(iItemCount);
				// 傾僀僥儉偑偁傟偽傾僀僥儉庢摼偡傞
				if(0<iItemCount)
					{
					// 傾僀僥儉庢摼偡傞乮旕摨婜乯
					// 巕夋柺偵傾僀僥儉傪愝掕偡傞
// Mod-S PTX-824 D_82400014801懳墳 暯壀 2007.09.17
//					iListView->ProcessLoadListItemsAtListTop(ECmdFilterViewGetListItemsForMoveView);
					if (EFalse == iListView->ProcessLoadListItemsAtListTop(ECmdFilterViewGetListItemsForMoveView))
						{
						TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessMoveView | 58;
						_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessMoveView::DoSequence() GetItemCount Error iState:%d iEvent:%d");
						SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, iEvent);
						return;
						}
// Mod-E PTX-824 D_82400014801懳墳 暯壀 2007.09.17
					// 傾僀僥儉庢摼拞忬懺偵慗堏偡傞
					iState	= EFilterProcessMoveViewStateGetListItems;
					NextState();
					}

⌨️ 快捷键说明

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