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