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

📄 smbmusicapmainplayerfilterlistitem.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterListItem.h
//
// Description: 
//  CSmbMusicAPMainPlayerFilterListItem class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/13	|SDNA嶳壀	| FilterView娭楢僋儔僗偺refactoring偵敽偭偰怴婯嶌惉
//2006/08/25	|SDNA彫椦	| NoImage偺僕儍働僢僩夋憸乮強桳尃偼帩偨側偄乯傪曐帩偱偒傞傛偆偵廋惓

#ifndef __SMBMUSICAPMAINPLAYERFILTERLISTITEM_H__
#define __SMBMUSICAPMAINPLAYERFILTERLISTITEM_H__

#include <SmbCommonDef.h>
#include <GulIcon.h>
#include <SkonMusicListBoxItem.h>
// Add-S PTX-824懳墳丂暯壀
#include <SmbMusicAPSyncEngineDef.h>
// Add-E PTX-824懳墳丂暯壀

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPMainPlayerFilterListItem;
class MSmbMusicAPMainPlayerFilterListModelObserver;

/**
 * 僼傿儖僞儕僗僩傾僀僥儉僋儔僗
 */
class CSmbMusicAPMainPlayerFilterListItem
	: public CBase
	, public MSkonMusicListBoxItem
	{
public:
	/**
	 * 僒儉僱僀儖庢摼忬懺
	 */
	enum TFilterListImageState
		{
		ENoImage = 0,
		ERequestImage,
		EFetchedImage
		};

public:
	////////////////////////////////////////////////////////////////////////////
	// 僋儔僗偺惗惉偲攋婞
	////////////////////////////////////////////////////////////////////////////
	// 僼傿儖僞儕僗僩傾僀僥儉僋儔僗傪惗惉
	static CSmbMusicAPMainPlayerFilterListItem* NewL(TInt aCommandID, TInt aIndex, MSmbMusicAPMainPlayerFilterListModelObserver* aObserver);
	// 僐儞僗僩儔僋僞
	CSmbMusicAPMainPlayerFilterListItem(TInt aCommandID, TInt aIndex, MSmbMusicAPMainPlayerFilterListModelObserver* aObserver);
	// 僙僇儞僪僐儞僗僩儔僋僞
	virtual void ConstructL();
	// 僨僗僩儔僋僞
	virtual ~CSmbMusicAPMainPlayerFilterListItem();

public:
	////////////////////////////////////////////////////////////////////////////
	// SkonMusicListBox偺I/F
	////////////////////////////////////////////////////////////////////////////
	// from MSkonMusicListBoxItem
	/**
	 * 夋憸傪庢摼偡傞
	 * @param[in] aImageType 夋憸偺庬椶
	 * @return 夋憸 夋憸僒僀僘偼傾僀僐儞丗20x20(main) 12x12(sub)丄僒儉僱僀儖(46x46)
	 */
	CGulIcon* Image(TImageType aImageType) const;
	/**
	 * 暥帤楍傪庢摼偡傞
	 * @param[in] aTextType 僥僉僗僩偺庬椶
	 * @return 暥帤楍
	 */
	TPtrC Text(TTextType aTextType) const;
	/**
	 * 傾僀僥儉偺嬛巭忬懺傪庢摼偡傞
	 * @return ETrue: 嬛巭 / EFalse:桳岠
	 */
	TBool IsDisabled();
	/**
	 * 恊奒憌偺忬懺傪庢摼偡傞
	 * @return ETrue: 恊奒憌偁傝 / EFalse: 恊奒憌側偟
	 */
	TBool HasParentList();
	/**
	 * 巕奒憌偺忬懺傪庢摼偡傞
	 * @return ETrue: 巕奒憌偁傝 / EFalse: 巕奒憌側偟
	 */
	TBool HasChildList();
	
	////////////////////////////////////////////////////////////////////////////
	// 儊儞僶乕憖嶌
	////////////////////////////////////////////////////////////////////////////
	/**
	 * 夋憸傪愝掕偡傞
	 * 僙僢僩偡傞夋憸偺強桳尃傪埾忳偡傞
	 * @param[in] aImageType	夋憸偺庬椶
	 * @param[in] aImage		夋憸
	 */
	void SetImage(TImageType aImageType, CGulIcon* aImage);
	/** 
	 *	夋憸偺愝掕
	 * 僨僼僅儖僩偺夋憸傪巊梡偡傞傛偆偵愝掕偡傞
	 * @param[in] aImageType 昞帵僞僀僾
	 */
	void SetImage(TImageType aImageType);
	/** 
	 *	夋憸偺儕僙僢僩
	 * 愝掕偝傟偰偄傞夋憸傪儕僙僢僩偡傞
	 * @param[in] aImageType 昞帵僞僀僾
	 */
	void ResetImage(TImageType aImageType);
	/**
	 * 暥帤楍傪愝掕偡傞
	 * @param[in] aTextType		僥僉僗僩偺庬椶
	 * @param[in] aText			暥帤楍
	 */
	void SetTextL(TTextType aTextType, const TDesC& aText);
	/**
	 * 傾僀僥儉偺嬛巭忬懺傪愝掕偡傞
	 * @param[in] aDisable		ETrue: 嬛巭 / EFalse:桳岠
	 */
	void SetIsDisabled(TBool aDisable);
	/**
	 * 恊奒憌偺忬懺傪愝掕偡傞
	 * @param[in] aHasParent	ETrue: 恊奒憌偁傝 / EFalse: 恊奒憌側偟
	 */
	void SetParentList(TBool aHasParent);
	/**
	 * 巕奒憌偺忬懺傪愝掕偡傞
	 * @param[in] aHasChild		ETrue: 巕奒憌偁傝 / EFalse: 巕奒憌側偟
	 */
	void SetChildList(TBool aHasChild);
	/**
	 * 僀儞僨僢僋僗斣崋傪庢摼偡傞
	 * @return 僀儞僨僢僋僗斣崋
	 */
	TInt Index() const;
	/**
	 * 僐儅儞僪ID傪庢摼偡傞
	 * @return 僐儅儞僪ID
	 */
	TInt CommandID() const;
	/**
	 * 僀儞僨僢僋僗斣崋傪愝掕偡傞
	 * @param[in] aIndex		僀儞僨僢僋僗斣崋
	 */
	void SetIndex(TInt aIndex);
	/**
	 * 僐儅儞僪ID傪愝掕偡傞
	 * @param[in] aCommandID	僐儅儞僪ID
	 */
	void SetCommandID(TInt aCommandID);
	/**
	 * 夋憸忬懺傪庢摼偡傞
	 * @return ENoImage: 枹庢摼 / ERequestImage:庢摼拞 / EFetchedImage:庢摼嵪
	 */
	TBool IsFetchedImage() const;
	/**
	 * 庢摼幐攕帪夋憸偺僒儉僱僀儖傪僙僢僩偡傞
	 * 僙僢僩偡傞夋憸偺強桳尃偼埾忳偟側偄
	 * @param[in] aImage		庢摼幐攕帪夋憸
	 */
	void SetDefaultJacket(CGulIcon* aImage);

// Add-S PTX-824懳墳丂暯壀
	/**
	 * 嵞惗惂尷庬暿傪愝掕偡傞
	 * @param[in] aLimitation	嵞惗惂尷庬暿
	 */
	void SetLimitation(TSmbMusicAPSyncEngineLimitation aLimitation);
	/**
	 * 嵞惗惂尷庬暿傪庢摼偡傞
	 * @return 僐儅儞僪ID
	 */
	TSmbMusicAPSyncEngineLimitation Limitation() const;
// Add-E PTX-824懳墳丂暯壀

private:
	// 僒儉僱僀儖夋憸
	CGulIcon*		iJacket;
	// 庢摼幐攕帪夋憸
	CGulIcon*		iDefaultJacket;
	// 傾僀僐儞
	CGulIcon* 		iIcon;
	// 僞僀僩儖暥帤楍
	HBufC*			iMainText;
	// 僒僽僞僀僩儖暥帤楍
	HBufC*			iSubText;
	// 傾僀僥儉偺嬛巭忬懺
	TBool			iDisable;
	// 恊奒憌偺忬懺
	TBool			iHasParent;
	// 巕奒憌偺忬懺
	TBool			iHasChild;
	// 夋憸庢摼忬懺
	TBool			iFetchedImage;
	// 僐儅儞僪ID
	TInt			iCommandID;
	// 僀儞僨僢僋僗斣崋
	TInt    		iIndex;
	// 僼傿儖僞儕僗僩傾僀僥儉僆僽僓乕僶
	MSmbMusicAPMainPlayerFilterListModelObserver*	iObserver;
// Add-S PTX-824懳墳丂暯壀
	// 嵞惗惂尷庬暿
	TSmbMusicAPSyncEngineLimitation		iLimitation;
// Add-E PTX-824懳墳丂暯壀
	};

SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERFILTERLISTITEM_H__

// end of SmbMusicAPMainPlayerFilterListItem.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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