📄 smbmusicapmainplayerfilterlistview.h
字号:
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterListView.h
//
// Description:
// CSmbMusicAPMainPlayerFilterListView class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+----------------------------------------------
//2006/06/12 |SDNA 彫椦 | 怴婯嶌惉
//2006/06/26 |SDNA 嶳壀 | 愝寁廋惓(FilterViewManager)
//2006/07/13 |SDNA 嶳壀 | 僒儉僱僀儖昞帵丄暋悢慖戰儌乕僪側偳SkonListBox偺懏惈曄峏張棟傪嫟捠壔
//2006/07/13 |SDNA 嶳壀 | 奺夋柺偛偲偵攈惗僋儔僗嶌惉
//2006/07/13 |SDNA 嶳壀 | 僒僽儊僯儏乕丄僉乕僈僀僟儞僗偺張棟傪FilterViewManager偐傜堏摦
//2006/07/15 |SDNA 嶳壀 | 僞僀僩儖僶乕張棟
//2006/08/12 |SDNA 嶳壀 |FilterView娭楢僋儔僗偺refactoring
//2006/08/14 |SDNA 嶳壀 |夋柺掕媊偺奼挘
//2006/08/23 |SDNA 嶳壀 |傾僋僥傿僽僼僅乕僇僗梡偺儊僜僢僪傪捛壛
//2006/08/28 |SDNA 嶳壀 |僉乕僈僀僟儞僗昞帵偺廋惓
//2006/09/03 |SDNA 嶳壀 |搊榐丒嶍彍偺儌僨儖曄峏捠抦張棟傪捛壛
//2006/09/04 |SDNA 壀嶳 |FilterProcess偺僉儍儞僙儖儊僜僢僪傪捛壛
//2006/09/12 |SDNA 壀嶳 |TRK6892懳墳
//2006/09/14 |SDNA彫椦仌壀嶳 |TRK9092懳墳
//2007/07/12 |SEMCJ 暯壀 |FinishProgress()(堷悢偁傝)傪捛壛
//2007/09/04 |SEMCJ暯壀 |D_82400012386懳墳
//2007/09/11 |SEMCJ暯壀 |D_82400013891懳墳
//2007/09/17 |SEMCJ暯壀 |D_82400014801懳墳
#ifndef __SMBMUSICAPMAINPLAYERFILTERLISTVIEW_H__
#define __SMBMUSICAPMAINPLAYERFILTERLISTVIEW_H__
#include <coedef.h>
#include <FjWcdmaMpDef.h>
#include <FjAfView.h>
#include <GulIcon.h>
#include <SkonControl.h>
#include <SkonTextLabel.h>
#include <SkonSubMenu.h>
#include <SkonVirtualSpaceScreen.h>
#include <SkonMusicTitleBar.h>
#include <SkonMusicListBox.h>
#include <SkonMusicListBoxObserver.h>
#include <SkonMusicListBoxObserver.h>
#include <SkonControlObserver.h>
#include <SmbCommonDef.h>
#include <SmbPGMusic.h>
#include <SmbPGMusic.hrh>
#include <SmbAfCommandBase.h>
#include <SmbLayout.hrh>
#include <SmbMusicAPSyncEngineDef.h>
#include "SmbMusicAPMainPlayerCommonDef.h"
#include "SmbMusicAPMainPlayerFilterListModel.h"
#include "SmbMusicAPMainPlayerFilterProcess.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"
#include "SmbMusicAPMainPlayerDialogObserver.h"
#include "SmbMusicAPMainPlayerPlayHandler.h"
USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN
//奺夋柺偵懳墳偡傞ID偺掕媊
#define KSmbMusicAPMainPlayerInvalidUidValue 0x80000000
#define KSmbMusicAPMainPlayerMusicMenuUidValue 0x80000001
#define KSmbMusicAPMainPlayerGenreListUidValue 0x80000002
#define KSmbMusicAPMainPlayerArtistListUidValue 0x80000003
#define KSmbMusicAPMainPlayerAlbumListUidValue 0x80000004
#define KSmbMusicAPMainPlayerSongListUidValue 0x80000005
#define KSmbMusicAPMainPlayerPLTypeListUidValue 0x80000006
#define KSmbMusicAPMainPlayerPLListUidValue 0x80000007
#define KSmbMusicAPMainPlayerPLSongListUidValue 0x80000008
#define KSmbMusicAPMainPlayerMemTypeListUidValue 0x80000009
//2006.08,14 夋柺掕媊偺奼挘
#define KSmbMusicAPMainPlayerOriginalPLListUidValue 0x8000000A
#define KSmbMusicAPMainPlayerImportPLListUidValue 0x8000000B
#define KSmbMusicAPMainPlayerPLSelectUidValue 0x8000000C
#define KSmbMusicAPMainPlayerSongSelectUidValue 0x8000000D
#define KSmbMusicAPMainPlayerPLSongOrderUidValue 0x8000000E
//Add-S PTX-824懳墳
#define KSmbMusicAPMainPlayerWMAPLListUidValue 0x8000000F
//Add-E PTX-824懳墳
const TUid KSmbMusicAPMainPlayerInvalidUid = {KSmbMusicAPMainPlayerInvalidUidValue}; ///< 晄惓ID
const TUid KSmbMusicAPMainPlayerMusicMenuViewUid = {KSmbMusicAPMainPlayerMusicMenuUidValue}; ///< 儈儏乕僕僢僋儊僯儏乕
const TUid KSmbMusicAPMainPlayerGenreListViewUid = {KSmbMusicAPMainPlayerGenreListUidValue}; ///< 僕儍儞儖堦棗夋柺
const TUid KSmbMusicAPMainPlayerArtistListViewUid = {KSmbMusicAPMainPlayerArtistListUidValue}; ///< 傾乕僥傿僗僩堦棗夋柺
const TUid KSmbMusicAPMainPlayerAlbumListViewUid = {KSmbMusicAPMainPlayerAlbumListUidValue}; ///< 傾儖僶儉堦棗夋柺
const TUid KSmbMusicAPMainPlayerSongListViewUid = {KSmbMusicAPMainPlayerSongListUidValue}; ///< 嬋堦棗夋柺
const TUid KSmbMusicAPMainPlayerPLTypeListViewUid = {KSmbMusicAPMainPlayerPLTypeListUidValue}; ///< 僾儗僀儕僗僩僞僀僾慖戰夋柺
const TUid KSmbMusicAPMainPlayerPLListViewUid = {KSmbMusicAPMainPlayerPLListUidValue}; ///< 僾儗僀儕僗僩堦棗夋柺
const TUid KSmbMusicAPMainPlayerPLSongListViewUid = {KSmbMusicAPMainPlayerPLSongListUidValue}; ///< 僾儗僀儕僗僩嬋堦棗夋柺
const TUid KSmbMusicAPMainPlayerMemTypeListViewUid = {KSmbMusicAPMainPlayerMemTypeListUidValue}; ///< 曐懚愭慖戰夋柺
//2006.08,14 夋柺掕媊偺奼挘
const TUid KSmbMusicAPMainPlayerOriginalPLListViewUid = {KSmbMusicAPMainPlayerOriginalPLListUidValue}; ///< 僆儕僕僫儖僾儗僀儕僗僩堦棗夋柺
const TUid KSmbMusicAPMainPlayerImportPLListViewUid = {KSmbMusicAPMainPlayerImportPLListUidValue}; ///< 僀儞億乕僩僾儗僀儕僗僩堦棗夋柺
const TUid KSmbMusicAPMainPlayerPLSelectViewUid = {KSmbMusicAPMainPlayerPLSelectUidValue}; ///< 僾儗僀儕僗僩慖戰夋柺
const TUid KSmbMusicAPMainPlayerSongSelectViewUid = {KSmbMusicAPMainPlayerSongSelectUidValue}; ///< 嬋慖戰夋柺
const TUid KSmbMusicAPMainPlayerPLSongOrderViewUid = {KSmbMusicAPMainPlayerPLSongOrderUidValue}; ///< 僾儗僀儕僗僩嬋暲傋懼偊戰夋柺
//Add-S PTX-824懳墳
const TUid KSmbMusicAPMainPlayerWMAPLListViewUid = {KSmbMusicAPMainPlayerWMAPLListUidValue}; ///< WMA僾儗僀儕僗僩堦棗夋柺
//Add-E PTX-824懳墳
enum TSmbMusicAPMainPlayerCommandMode
{
EFilteringMode = 0,
ESelectItemMode,
ESelectMultipleMode,
ESelectAllMode,
EOrderItemMode,
};
enum TSmbMusicAPMainPlayerListType
{
EInvalidListType = 0,
EMusicMenuListType,
EPLTypeListType,
EMemTypeListType,
EGenreListType,
EArtistListType,
EAlbumListType,
ESongListType,
EPLOriginalPLListType,
EPLImportPLListType,
EPLWMAPLListType, // Add PTX-824懳墳
EPLSongListType
};
enum TSmbMusicAPMainPlayerItemReloadType
{
ENoReload = 0, // 儕儘乕僪側偟
EReloadItemsOnly, // 傾僀僥儉偺傒儕儘乕僪
EAllReload, // 僼僅乕僇僗側偳傕嵞愝掕
};
class CSmbMusicAPMainPlayerFilterView;
class CSmbMusicAPMainPlayerFilterListView;
class CSmbMusicAPMainPlayerFilterListModel;
class MSmbMusicAPMainPlayerDialogObserver;
class MSmbMusicAPMainPlayerFilterListModelObserver;
class MSmbMusicAPMainPlayerFilterSyncServerProcessResponse;
class MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver;
class CSmbMusicAPMainPlayerFilterProcessGetThumbnail;
/**
儕僗僩拞偺傾僀僥儉傪巜掕偡傞峔憿懱
*/
struct TSmbMusicAPMainPlayerFilterListItems
{
TBool iAllItem; ///<慡審/暋悢審乮ETrue:慡審偺応崌丄EFalse:偦傟埲奜乯
TInt iListHandle; ///<儕僗僩僴儞僪儖
TInt iCount; ///<傾僀僥儉悢
RArray<TInt>* iIndexArray; ///<儕僗僩拞傾僀僥儉乮Index斣崋偺攝楍乯
};
/**
* 儊僀儞僾儗僀儎乕 儕僗僩儃僢僋僗僐儞僩儘乕儖僆僽僓乕僶僋儔僗
*/
class MSmbMusicAPMainPlayerFilterListViewObserver
{
public:
// 僒僽儊僯儏乕昞帵張棟
virtual void HandleSubMenuL(CSmbMusicAPMainPlayerFilterListView* aListView, TInt aResID) = 0;
};
/**
* 僼傿儖僞儕僗僩價儏乕僋儔僗
*/
class CSmbMusicAPMainPlayerFilterListView
: public CBase
, public MSmbAfCommandBase
, public MSkonMusicListBoxObserver
, public MSmbMusicAPMainPlayerDialogObserver
, public MSmbMusicAPMainPlayerFilterListModelObserver
, public MSmbMusicAPMainPlayerFilterProcessObserver
{
//ADD-S> 2006.10.31 TRK#12267
public:
enum TEditState
{
EEditInit = 0,
EEditPreparing,
EEditProcessing,
EEditCompleted
};
//ADD-E<
/**
* 僞僀僩儖僶乕僒僀僘
*/
enum TListViewDefaultCoodinates
{
EDefaultPosition = -65535,
ETitleBarHeight = KSmbLayout_MPM_TBAR_H
};
public:
//////////////////////////////////////////////////////////////////////////////////////
// 僋儔僗偺惗惉偲攋婞
//////////////////////////////////////////////////////////////////////////////////////
static CSmbMusicAPMainPlayerFilterListView* NewL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView);
CSmbMusicAPMainPlayerFilterListView();
virtual void ConstructL(TUid aViewUid, CSmbMusicAPMainPlayerFilterView* aView);
virtual ~CSmbMusicAPMainPlayerFilterListView();
public:
//////////////////////////////////////////////////////////////////////////////////////
// 弶婜愝掕
//////////////////////////////////////////////////////////////////////////////////////
virtual void SetupModelL();
virtual void SetupControlL();
virtual void SetupKeyGuidanceL(CSakKeyGuidance* aKeyGuidance);
virtual void ReadItemsFromResourceL(TInt aItemResID);
private:
void SetKeyGuidanceInfoL(TSkonKeyGuidanceKeyIds aKey, CSakKeyGuidance* aKeyGuidance);
public:
////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞價儏乕I/F
////////////////////////////////////////////////////////////////////////////
virtual void DoViewActivatedL();
virtual void DoViewDeactivated();
virtual void DoProcessActivatedL();
virtual void DoProcessDeactivatedL();
virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
public:
////////////////////////////////////////////////////////////////////////////
// 價儏乕婎杮憖嶌
////////////////////////////////////////////////////////////////////////////
virtual TUid ViewUid() const;
virtual void FocusChanged(TDrawNow aDrawNow);
virtual TInt CurrentArrowState();
void SetPosition(TInt aIndex);
void HandleControlStatusUpdatedL();
////////////////////////////////////////////////////////////////////////////
// SkonMusicListBox僀儀儞僩
////////////////////////////////////////////////////////////////////////////
// from MSkonMusicListBoxObserver
virtual void HandleMusicListBoxEventL(CSkonMusicListBox* aMusicListBox, const TMusicListBoxEvent aEventType, const TInt aIntParam, const TInt aIntParam2);
virtual void HandleMusicListBoxRedrawEvent(CSkonMusicListBox* aMusicListBox, const TRect &aRect);
//儕僗僩僼僅乕僇僗僀儀儞僩
virtual void HandleListFocusMoving(TInt aTopIndex, TInt aItemIndex, TInt aNumberOfVisibleItems);
virtual void HandleListFocusMove(TInt aTopIndex, TInt aItemIndex, TInt aNumberOfVisibleItems);
virtual void HandleListFocusMoved(TInt aTopIndex, TInt aItemIndex, TInt aNumberOfVisibleItems);
virtual void MakeUpCache(TInt aTopIndex, TInt aItemIndex, TInt aNumberOfVisibleItems);
////////////////////////////////////////////////////////////////////////////
// 僼傿儖僞儕僗僩儌僨儖僀儀儞僩
////////////////////////////////////////////////////////////////////////////
virtual void HandlePlayerStateChangedL(TBool aState);
virtual void HandlePlayerSongChangedL(TSmbMusicAPSyncEngineItemIndex aItem);
// from MSmbMusicAPMainPlayerFilterListModelObserver
virtual void NotifyModelChanged();
virtual void NotifyItemChanged(TInt aIndex);
virtual void NotifyItemRequest(TInt aIndex);
virtual void NotifyImageRequest(TInt aIndex);
virtual TBool HasParentList();
virtual TBool HasChildList();
// 儌僨儖曄峏捠抦
virtual void HandleModelChangedL(TBool aDrawNow);
////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪幚峴
////////////////////////////////////////////////////////////////////////////
// from MSmbAfCommandBase
virtual MSmbAfCommandBase::TSmbAfCmdIdResponse HandleCommandL(TInt aCommandId);
virtual MSmbAfCommandBase::TSmbAfCmdIdResponse ProcessCommandL(TInt aCommandId);
//////////////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪儌乕僪
//////////////////////////////////////////////////////////////////////////////////////
// 僐儅儞僪儌乕僪傪愝掕偡傞
virtual void SetCommandMode(TSmbMusicAPMainPlayerCommandMode aMode);
// 僐儅儞僪儌乕僪傪庢摼偡傞
virtual TSmbMusicAPMainPlayerCommandMode CommandMode();
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩僞僀僾
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩僞僀僾傪愝掕偡傞
virtual void AdjustListType();
// 儕僗僩僞僀僾傪愝掕偡傞
virtual void SetListType(TSmbMusicAPMainPlayerListType aType);
// 儕僗僩僞僀僾傪庢摼偡傞
virtual TSmbMusicAPMainPlayerListType ListType();
//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕張棟
//////////////////////////////////////////////////////////////////////////////////////
// 僞僀僩儖僶乕傪愝掕偡傞
virtual void AdjustTitleL();
virtual void AdjustTitleIconL();
virtual void SetTitleTextL(const TDesC& aText);
virtual void SetTitleTextL(TInt aTitleResID);
virtual void SetTitleIconL(TInt aLeftIconResID, TInt aRightIconResID);
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗張棟
//////////////////////////////////////////////////////////////////////////////////////
// 儕僗僩儃僢僋僗偺僞僀僾傪愝掕偡傞
virtual void SetListBoxFormat(CSkonMusicListBox::TMusicListBoxFormat aFormat);
// 儕僗僩儃僢僋僗僆儁儗乕僔儑儞儌乕僪傪愝掕偡傞
virtual void SetOperationMode(CSkonRichListBoxBase::TOperationMode aMode);
// 儕僗僩儃僢僋僗偺僞僀僾傪庢摼偡傞
virtual CSkonMusicListBox::TMusicListBoxFormat ListBoxFormat();
// 儕僗僩憖嶌儌乕僪傪曉偡
virtual CSkonRichListBoxBase::TOperationMode OperationMode();
// 慖戰偝傟偰偄傞傾僀僥儉僀儞僨僢僋僗偺攝楍傪曉偡
virtual const CArrayFix<TInt>* SelectionIndexes();
// 傾僀僥儉偺慖戰/慖戰庢傝徚偟傪峴偆
virtual void SelectItemL(TInt aItemIndex, TBool aSelected);
// 慡偰偺傾僀僥儉偺慖戰傪庢傝徚偡
virtual void ClearSelection();
// 儕僗僩傾僀僥儉偺敿婸搙挷惍傪偡傞
virtual void AdjustListBoxL(TBool aState);
// 僼僅乕僇僗傪愝掕偡傞
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -