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

📄 smbmusicapmainplayerfilterview.h

📁 symbian
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerFilterView.h
//
// Description:
//	儈儏乕僕僢僋儊僀儞僾儗僀儎
//	僼傿儖僞夋柺價儏乕僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅				|曄峏幰			|撪梕
//---------------------------------------------------------------------------
//2006/06/05		|SEMCJ嶳壀		|怴婯嶌惉
//2006/06/19		|SEMCJ嶳壀		|儊僀儞僾儗僀儎婎杮晹偲寢崌
//2006/07/06		|SEMCJ嶳壀		|FilterObserver懳墳
//2006/07/07		|SEMCJ嶳壀		|慡嬋僔儍僢僼儖廋惓
//2006/07/08		|SDNA 彫椦		|巊梡偟偰偄側偄儊儞僶曄悢傪嶍彍 / HandleMusicListBoxEventL()偺廋惓
//2006/07/13		|SDNA嶳壀		|PA嶲徠偺偨傔偺儊僜僢僪捛壛
//2006/07/18		|SDNA嶳壀		|VSS偺僗僋儘乕儖奐巒/廔椆偺娫偺僉乕僀儀儞僩梷惂張棟捛壛
//2006/08/03		|K3戝嫶			|抂枛奐暵傪捠抦偡傞僀儞僞僼僃乕僗傪捛壛
//2006/08/12		|SDNA嶳壀		|FilterView娭楢僋儔僗偺refactoring
//2006/08/18		|SDNA嶳壀		|FilterProcess偺捛壛
//2006/08/30		|SDNA嶳壀		|僾儘僌儗僗僶乕懳墳偺廋惓
//2006/09/07		|K3戝嫶			|HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//2006/09/13		|K3戝嫶			|PreparePlay拞偺掅揹埑嬋掆巭偵懳墳偡傞偨傔丄僀儞僞僼僃乕僗偑奼挘偝傟偨偙偲偵懳墳
//2007/07/11		|SEMCJ暯壀		|IsForegroundMainPlayerL()傪捛壛
//2007/07/12		|SEMCJ暯壀		|傒側偟恑捇僟僀傾儘僌偺僶乕傪廔抂偵堏摦偝偣傞娭悢傪捛壛
//2007/08/09		|SEMCJ暯壀		|D_82400008475懳墳
//2007/09/01		|SEMCJ暯壀		|D_82400013712懳墳
//2007/09/11		|SEMCJ暯壀		|D_82400014579懳墳
//2007/09/17		|SEMCJ暯壀		|D_82400014801懳墳
//2007/09/20		|SEMCJ暯壀		|D_82400015471懳墳
//2007/09/26		|SEMCJ暯壀		|D_82400015879懳墳

#ifndef __SMBMUSICAPMAINPLAYERFILTERVIEW_H__
#define __SMBMUSICAPMAINPLAYERFILTERVIEW_H__

#include <coedef.h>
#include <FjWcdmaMpDef.h>
#include <FjAfView.h>
#include <GulIcon.h>
#include <SkonControl.h>
#include <SkonControlObserver.h>
#include <SkonBitGc.h>
#include <SkonSubMenu.h>
#include <SkonMusicControlContainer.h>
#include <SkonVirtualSpaceScreen.h>
#include <SkonMusicPlayInfoPanel.h>
#include <SkonMusicVolumePanel.h>
#include <SmbFep.h>

#include <SmbCommonDef.h>
#include <SmbAfCommandBase.h>
#include <SmbPGMusic.h>
#include "SmbPGMusic.hrh"
#include "SmbMusicAPMainPlayerCommonDef.h"
#include "SmbMusicAPMainPlayerViewBase.h"
#include "SmbMusicAPMainPlayerDialogObserver.h"
#include "SmbMusicAPMainPlayerEventHandler.h"
#include "SmbMusicAPMainPlayerBasisPartObserver.h"
#include "SmbMusicAPMainPlayerDialogManagerBase.h"
#include "SmbMusicAPMainPlayerPlayHandler.h"
#include "SmbMusicAPMainPlayerFilterObserver.h"
#include "SmbMusicAPMainPlayerFilterListView.h"
#include "SmbMusicAPMainPlayerFilterViewModel.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"
#include "SmbMusicAPMainPlayerFilterProcess.h"
#include "SmbMusicAPMainPlayerSettingModel.h"
// Add-S PTX-824懳墳丂暯壀
#include "SmbMusicAPMainPlayerLCInterface.h"
#include "SmbMusicAPMainPlayerLicenseCheck.h"
// Add-E PTX-824懳墳丂暯壀

DCM_NAMESPACE_BEGIN
class CAfAsyncCommand;
DCM_NAMESPACE_END

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPMainPlayerFilterListView;
class CSmbMusicAPMainPlayerFilterViewModel;
class CSmbMusicAPMainPlayerFilterProcess;
class CSmbMusicAPMainPlayerFilterProcessMakeThumbnail;
class MSmbMusicAPMainPlayerFilterProcessObserver;


const TInt KShowStoreDataBoxIndex = 0;
const TInt KShowStoreMicroSDIndex = 1;


////////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞價儏乕僋儔僗
////////////////////////////////////////////////////////////////////////////////
class CSmbMusicAPMainPlayerFilterView
	: public CSmbMusicAPMainPlayerViewBase
	, public MSmbMusicAPMainPlayerEventHandler
	, public MSmbMusicAPMainPlayerDialogObserver
	, public MSmbMusicAPMainPlayerPlayHandler
	, public MSmbMusicAPMainPlayerFilterListViewObserver
	, public MSmbMusicAPMainPlayerFilterProcessObserver
	, public MSmbMusicAPMainPlayerSyncServerNotifySyncObserver
	, public MSmbMusicAPMainPlayerSyncServerNotifyPlayerObserver
	, public MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver
	, public MSkonControlObserver
// Add-S PTX-824懳墳丂暯壀
	, public MSmbMusicAPMainPlayerLCInterface
// Add-E PTX-824懳墳丂暯壀
	{
public:
	////////////////////////////////////////////////////////////////////////////
	// 僀儀儞僩娔帇僼儔僌
	////////////////////////////////////////////////////////////////////////////
	enum TEventTimerState
		{
		EEventTimerIdling = 0,
		EEventTimerStarted,
		EEventTimerFinished
		};
	enum TPlayReadyState
		{
		EPlayReadyNone = 0,
		EPlayReadyRequesting,
		EPlayReadyWaiting
		};
// Add-S PTX-824 D_82400014579懳墳 2007.09.10 暯壀
	enum TSuspendStartLCAppKind
		{
		ENoSuspendLCAppReq 	= 0x00,
		EAllLCAppReq 		= 0x01,
		ESingleLCAppReq 	= 0x02
		};	
// Add-E PTX-824 D_82400014579懳墳 2007.09.10 暯壀
		
public:
	////////////////////////////////////////////////////////////////////////////
	// 僋儔僗偺惗惉偲攋婞
	////////////////////////////////////////////////////////////////////////////
// Mod-S PTX-824 D_82400013712懳墳 暯壀 2007.09.01
	// 僼傿儖僞價儏乕僋儔僗傪惗惉
//	static CSmbMusicAPMainPlayerFilterView* NewL(MSmbMusicAPMainPlayerEnv& aPlayerEnv, CSmbMusicAPSyncEngine& aSyncEngine, DCM_NAMESPACE::CAfAsyncCommand& aAsyncCommand);
	static CSmbMusicAPMainPlayerFilterView* NewL(MSmbMusicAPMainPlayerEnv& aPlayerEnv, CSmbMusicAPSyncEngine& aSyncEngine, DCM_NAMESPACE::CAfAsyncCommand& aAsyncCommand, CFbsBitmap* aOffScreen, CSkonBitGc* aSkonGc);
	// 僐儞僗僩儔僋僞
//	CSmbMusicAPMainPlayerFilterView(const DCM_NAMESPACE::TAfViewParam& aViewParam, MSmbMusicAPMainPlayerEnv& aPlayerEnv, CSmbMusicAPSyncEngine& aSyncEngine, DCM_NAMESPACE::CAfAsyncCommand& aAsyncCommand);
	CSmbMusicAPMainPlayerFilterView(const DCM_NAMESPACE::TAfViewParam& aViewParam, MSmbMusicAPMainPlayerEnv& aPlayerEnv, CSmbMusicAPSyncEngine& aSyncEngine, DCM_NAMESPACE::CAfAsyncCommand& aAsyncCommand, CFbsBitmap* aOffScreen, CSkonBitGc* aSkonGc);
// Mod-E PTX-824 D_82400013712懳墳 暯壀 2007.09.01
	// 僨僗僩儔僋僞
	virtual ~CSmbMusicAPMainPlayerFilterView();
	// 僙僇儞僪僐儞僗僩儔僋僞
	virtual void ConstructL();
	// 奺FilterView屌桳偺僐儞僗僩儔僋僞
	virtual void DoConstructDependenceL();

public:
	////////////////////////////////////////////////////////////////////////////
	// 價儏乕婎杮憖嶌
	////////////////////////////////////////////////////////////////////////////
	// from CAfView
	virtual void DoConstructContainerL();
	virtual void ViewDeactivated();
	virtual void FocusChanged(TDrawNow aDrawNow);
	virtual void Draw(const TRect& aRect) const;
	virtual void DrawToOffscreen(CSkonControl* aControl, const TRect& aRect);
	virtual void DrawToScreen();
	virtual TInt CurrentArrowState() const;
	
public:
	////////////////////////////////////////////////////////////////////////////
	// 儊僀儞僾儗僀儎婎杮晹偲偺I/F
	////////////////////////////////////////////////////////////////////////////
	// from CSmbMusicAPMainPlayerViewBase
	virtual void DoViewActivatedImplL(const TVwsViewId& aViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
	virtual TKeyResponse OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode aType);
	virtual MSmbMusicAPMainPlayerEventHandler* EventHandler() const;
	// from MSmbMusicAPMainPlayerEventHandler
	virtual void HandleOnChangeL(TUid aUid, TInt aData);
	virtual void HandleExitApp(TSmbMusicAPMainPlayerExitReason aReason);
	virtual void HandleMusicAPPlayerStateChangedL(TSmbPGMusicAPPlayerState aState);
	virtual void HandleForegroundEventL(TBool aForeground);
	virtual void HandleGetAccessSyncEngineL(TBool aResult);
	virtual void HandleReleaseAccessSyncEngineL();
//DEL-S 2006.09.13 K3戝嫶 嬋嵞奐偡傞偐斲偐傪堷悢偱庴偗庢傞傛偆偵奼挘
//	virtual void HandleBatteryLowPlayL();
//DEL-E 2006.09.13 K3戝嫶 嬋嵞奐偡傞偐斲偐傪堷悢偱庴偗庢傞傛偆偵奼挘
//ADD-S 2006.09.13 K3戝嫶 嬋嵞奐偡傞偐斲偐傪堷悢偱庴偗庢傞傛偆偵奼挘
	virtual void HandleBatteryLowPlayL(TBool aPlay);
//ADD-E 2006.09.13 K3戝嫶 嬋嵞奐偡傞偐斲偐傪堷悢偱庴偗庢傞傛偆偵奼挘
//DEL-S 2006.09.07 K3戝嫶 HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//	virtual void HandleBatteryLowPauseL();
//DEL-E 2006.09.07 K3戝嫶 HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//ADD-S 2006.09.07 K3戝嫶 HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//DEL-S 2006.09.13 K3戝嫶 掅揹埑庬暿傪堷悢偱庴偗庢傞傛偆偵奼挘
//	virtual TBool HandleBatteryLowPauseL();
//DEL-E 2006.09.13 K3戝嫶 掅揹埑庬暿傪堷悢偱庴偗庢傞傛偆偵奼挘
//ADD-S 2006.09.13 K3戝嫶 掅揹埑庬暿傪堷悢偱庴偗庢傞傛偆偵奼挘
	virtual TBool HandleBatteryLowPauseL(TSmbMusicAPMainPlayerLowBatteryType aLowBatteryType);
//ADD-E 2006.09.13 K3戝嫶 掅揹埑庬暿傪堷悢偱庴偗庢傞傛偆偵奼挘
//ADD-E 2006.09.07 K3戝嫶 HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
	virtual void HandleExtMemoryChangeStatusL(TBool aMount);
	virtual TBool HandleExitPreprocessingL();
	virtual void HandleBacklightEventL(TBool aBacklight);
	virtual void HandleExitPostprocessingL();
	virtual void HandleCompleteBootSubPlayerL();	
	virtual void HandleCaseClosedL(TBool aCaseClose);
	virtual void WaitReleaseSyncEngine();
	virtual void DelayReleaseSyncEngine();
// Add-S PTX-824 D_82400014801懳墳 暯壀 2007.09.17
	virtual void KillActiveViewProcess();
// Add-E PTX-824 D_82400014801懳墳 暯壀 2007.09.17
	// from MSmbMusicAPMainPlayerDialogObserver
	virtual void HandleDialogClosed(TInt aResourceId, TInt aResult);
	
public:
	////////////////////////////////////////////////////////////////////////////
	// 儊僀儞僾儗僀儎嵞惗夋柺偲偺I/F
	////////////////////////////////////////////////////////////////////////////
	// from MSmbMusicAPMainPlayerPlayHandler
	virtual void HandleChangedPlaySong(TSmbMusicAPSyncEngineItemIndex aItem);
	virtual void RequestDeleteSong(TSmbMusicAPSyncEngineItemIndex aItem, const TDesC& aText, TSmbMusicAPMainPlayerDeleteSongKind aKind, TRequestStatus& aStatus);
	virtual void CancelDeleteSong();
	virtual void SetPlayerObserver(MSmbMusicAPMainPlayerFilterObserver* aObserver);
	virtual void RespPreparePlay(TInt aResult);
#ifdef __SMBMUSICAP_PERFORMANCE_DEF__
	virtual void SetIntervalRB(TInt aInterval);
#endif

public:
	////////////////////////////////////////////////////////////////////////////
	// SkonControl偺I/F
	////////////////////////////////////////////////////////////////////////////
	// from MSkonControlObserver
	virtual void HandleSkonControlEventL(CSkonControl* aControl, TSkonControlEvent aEventType);
	virtual void HandleSkonControlRedrawEvent(CSkonControl* aControl, const TRect& aRect);
	virtual void HandleRedrawEvent(const TRect& aRect);
	TBool IsAction();

public:
	////////////////////////////////////////////////////////////////////////////
	// 僐儅儞僪幚峴
	////////////////////////////////////////////////////////////////////////////
	// from MSmbAfCommandBase
	virtual MSmbAfCommandBase::TSmbAfCmdIdResponse HandleCommandL(TInt aCommandId);
	virtual MSmbAfCommandBase::TSmbAfCmdIdResponse ProcessCommandL(TInt aCommandId);
	void ShowMusicSettingL();
	void StartFileManagerL();
	void ShowVolumePanelL();
	void HideVolumePanelL();
	void ShowPlayViewL();
	void PlayStartStopL();
	void PlayResumeL();
	TBool StartPlayViewL(TUid aMessageID, TSmbMusicAPMainPlayerPrmPlayList aParam);
	void StartPlayViewL();
// Add-S PTX-824懳墳丂暯壀
	TBool PrepareStartPlayL();
// Add-S PTX-824懳墳丂暯壀
	void CancelPreparePlay();
	void ShowChildViewL(TUid aViewUid);
	void ShowChildViewL(TUid aViewUid, TInt aListHandle, TInt aItemCount);
	void ShowParentViewL();
	void HandleProcessEvent(TInt aCommandID, TInt aResult);
	// from MSmbMusicAPMainPlayerFilterProcessObserver
	void ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess);
	void HandleDialogCommandL(TSmbMusicAPMainPlayerDialogActionType aType, TInt aResId, const TDesC* aText = NULL, CSkonCombinedText* aCombinedText = NULL);
	void ProcessProgress(TInt /*aResult*/, CSmbMusicAPMainPlayerFilterProcess& /*aProcess*/){};
	
public:
	////////////////////////////////////////////////////////////////////////////
	// 僒僽儊僯儏乕昞帵
	////////////////////////////////////////////////////////////////////////////
	// from MSmbMusicAPMainPlayerFilterListViewObserver
	void ProcessSubMenuL();
	void HandleSubMenuL(CSmbMusicAPMainPlayerFilterListView* aListView, TInt aResID);

public:
	////////////////////////////////////////////////////////////////////////////
	// 僉乕僈僀僟儞僗 仸儕僗僩價儏乕僋儔僗偵堏峴丠
	////////////////////////////////////////////////////////////////////////////
	
public:
	////////////////////////////////////////////////////////////////////////////
	// 償傽乕僠儍儖僗僋儕乕儞惂屼
	////////////////////////////////////////////////////////////////////////////
	void AddTitleBarL(CSkonMusicTitleBar* aTitleBar, TPoint aPoint);
	void AddListBoxL(CSkonMusicListBox* aListBox, TPoint aPoint);
	void SetControlPosition(CSkonControl* aControl, TPoint aPoint);
	void SetCurrentViewPointL(TPoint aPoint);
	void MoveTargetViewPoint(TInt aDirection, TBool aAnimation);
	void MoveToPrevScreen();
	void MoveToNextScreen();
	void JumpToScreen(TInt aIndex);
	void JumpToPrevScreen();
	void JumpToNextScreen();
private:
	void AddVSSControlL(CSkonControl* aControl, TPoint aPoint);

	//////////////////////////////////////////////////////////////////////////////////////
	// 僾儘僌儗僗僟僀傾儘僌
	//////////////////////////////////////////////////////////////////////////////////////
	void UpdateProgress(TInt aValue);
	void IncrementProgress(TInt aValue);

public:
	////////////////////////////////////////////////////////////////////////////
	// 僀儀儞僩娔帇丒梷惂惂屼
	////////////////////////////////////////////////////////////////////////////
	void SetupEventTimer();
	void DeleteEventTimer();
	void SetEventOccured();
	void ResetTimerEvent(TBool aHidePanel);
	static TInt HandleTimerEvent(TAny* aObject);
	void SetEventDisabled(TBool aDisabled);
	TBool EventDisabled();
	void SetEnableControlContainer(TBool aEnable);
	TBool IsControlContainerDrawingEnabled();

public:
	////////////////////////////////////////////////////////////////////////////
	// 僟僀傾儘僌昞帵乮婎杮晹傪屇傃弌偟偰幚峴乯
	////////////////////////////////////////////////////////////////////////////
	virtual void ShowConfirmModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText);
	virtual void ShowWarningModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText);
	virtual void ShowSelectionModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, const TDesC* aText, CSkonCombinedText* aCombinedText);
	virtual void ShowProgressModelessDialogL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, TBool aClearKeyDisable, CSkonCompoundProgressLabel** aProgressLabel);
	virtual void ShowProgressModelessDialogExL(TInt aResId, MSmbMusicAPMainPlayerDialogObserver* aDialogObserver, TBool aClearKeyDisable, TTimeIntervalMicroSeconds32 aInterval, TUint aProgressValue, TUint aFinalValue);
	virtual void CloseModelessDialog(TInt aResId);
	void SetDelayShowDialogL(TInt aResID);
// Add-S PTX-824 暯壀 2007.07.12 傒側偟恑捇僟僀傾儘僌偺僶乕傪廔抂偵堏摦偝偣傞
	void DrawEndProgressBar(TInt aResId);
// Add-E PTX-824 暯壀

public:
	////////////////////////////////////////////////////////////////////////////
	// 懠傾僾儕婲摦/儘乕僇儖價儏乕愗懼乮婎杮晹傪屇傃弌偟偰幚峴乯
	////////////////////////////////////////////////////////////////////////////
	void ChangeViewL(TSmbMusicAPMainPlayerViewIds aViewId, TUid aMessageId, const TDesC8& aMessage);
	void StartChildAppL(TUid aAppUid, TUid aViewUid, TUid aMessageId, const TDesC8& aMessage);
	void ConfirmExitAppL();
	void ExitAppL();
	// FEP傾僾儕婲摦忬懺
	void StartFepApp(TInt aResourceId, const TDesC& aDefaultText, MSmbFepObserver* aObserver);
	void EndFepApp();
	void CancelFepApp();
	
public:
	////////////////////////////////////////////////////////////////////////////
	// 夋柺摨婜乮僒僽僾儗僀儎偲偺楢実乯

⌨️ 快捷键说明

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