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

📄 smbmusicapmainplayerfilterlistcache.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterListCache.h
//
// Description: 
//  CSmbMusicAPMainPlayerFilterListCache class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/12	|SDNA嶳壀	| FilterView娭楢僋儔僗偺refactoring偵敽偭偰怴婯嶌惉
//2006/08/13	|SDNA嶳壀	| FilterListModel偐傜暘棧

#ifndef __SMBMUSICAPMAINPLAYERFILTERLISTCACHE_H__
#define __SMBMUSICAPMAINPLAYERFILTERLISTCACHE_H__

#include <SmbCommonDef.h>

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPMainPlayerFilterListItem;

/**
 * 僼傿儖僞儕僗僩僉儍僢僔儏僋儔僗
 */
class CSmbMusicAPMainPlayerFilterListCache : public CBase
	{
	enum TSmbMusicAPMainPlayerFilterListCacheSpec
		{
		EDefaultPageSize = 20,
		EDefaultPageMax = 3
		};
public:
	//////////////////////////////////////////////////////////////
	// 僋儔僗偺惗惉偲攋婞
	//////////////////////////////////////////////////////////////
	/** 
	 * NewL
	 *
	 * @param aPageSize [in]	儁乕僕僒僀僘
	 * @param aMaxPage [in]		嵟戝儁乕僕悢
	 * @param aMaxSize [in]		嵟戝僉儍僢僔儏僒僀僘
	 */
	static CSmbMusicAPMainPlayerFilterListCache* NewL(TInt aPageSize, TInt aMaxPage, TInt aMaxSize);

	/** 
	 * 僐儞僗僩儔僋僞
	 *
	 * @param aPageSize [in]	儁乕僕僒僀僘
	 * @param aMaxPage [in]		嵟戝儁乕僕悢
	 * @param aMaxSize [in]		嵟戝僉儍僢僔儏僒僀僘
	 */
	CSmbMusicAPMainPlayerFilterListCache(TInt aPageSize, TInt aMaxPage, TInt aMaxSize);
	
	/** 
	 * 僙僇儞僪僐儞僗僩儔僋僞丅
	 */
	void ConstructL();

	/** 
	 * 僨僗僩儔僋僞
	 *
	 */
	virtual ~CSmbMusicAPMainPlayerFilterListCache();
	
public:
	//////////////////////////////////////////////////////////////
	// 僉儍僢僔儏娗棟
	//////////////////////////////////////////////////////////////
	/**
	 * 僉儍僢僔儏傪弶婜壔偡傞
	 */
	void Reset();
	/**
	 * 僉儍僢僔儏忣曬傪愝掕偡傞
	 * 
	 * @param aPageSize [in]	儁乕僕僒僀僘
	 * @param aMaxPage [in]		嵟戝儁乕僕悢
	 * @param aMaxSize [in]		嵟戝僉儍僢僔儏僒僀僘
	 */
	void SetInfo(TInt aPageSize, TInt aMaxPage, TInt aMaxSize);
	/**
	 * 僉儍僢僔儏偐傜傾僀僥儉傪庢摼偡傞(僉儍僢僔儏攝楍偺僀儞僨僢僋僗巜掕)
	 *
	 * @param [in]	aItemIndex	僀儞僨僢僋僗
	 */
	CSmbMusicAPMainPlayerFilterListItem* Item(TInt aItemIndex) const;
	/**
	 * 僉儍僢僔儏偐傜傾僀僥儉傪庢摼偡傞(傾僀僥儉偺僀儞僨僢僋僗巜掕)
	 *
	 * @param [in]	aItemIndex	僀儞僨僢僋僗
	 */
	CSmbMusicAPMainPlayerFilterListItem* ItemByIndex(TInt aItemIndex) const;
	/**
	 * 僉儍僢僔儏偺嵟屻旜偵傾僀僥儉傪捛壛偡傞
	 * 
	 * @param [in]	aItemIndex	捛壛偡傞傾僀僥儉偺僀儞僨僢僋僗斣崋
	 * @param [in]	aItem		捛壛偡傞傾僀僥儉
	 * @return					僄儔乕
	 */
	void AppendItem(TInt aItemIndex, CSmbMusicAPMainPlayerFilterListItem* aItem);
	/**
	 * 僉儍僢僔儏偺愭摢偵傾僀僥儉傪憓擖偡傞
	 *
	 * @param [in]	aItemIndex	憓擖偡傞傾僀僥儉偺僀儞僨僢僋僗斣崋
	 * @param [in]	aItem		憓擖偡傞傾僀僥儉
	 * @return					僄儔乕
	 */
	void InsertItem(TInt aItemIndex, CSmbMusicAPMainPlayerFilterListItem* aItem);
	/**
	 * 僉儍僢僔儏偐傜傾僀僥儉傪嶍彍偡傞
	 *
	 * @param [in]	aItemIndex	嶍彍偡傞傾僀僥儉偺僀儞僨僢僋僗斣崋
	 * @param [in]	aDelete		傾僀僥儉偺僀儞僗僞儞僗傪嶍彍偡傞偐偳偆偐乮ETrue:嶍彍偡傞 EFalse:嶍彍偟側偄)
	 */
	void RemoveItem(TInt aItemIndex, TBool aDelete);
	
	
	void OrderItem(TInt aSrcIndex, TInt aDestIndex);
	
	
	
	/**
	 * 傾僀僥儉偺僉儍僢僔儏撪僀儞僨僢僋僗傪庢摼偡傞
	 *
	 * @param [in]	aItemIndex	傾僀僥儉偺僀儞僨僢僋僗
	 * @return					僉儍僢僔儏撪偱偺僀儞僨僢僋僗(僉儍僢僔儏偵側偄偲偒偼-1)
	 */
	TInt ItemIndex(TInt aItemIndex) const;
	/**
	 * 僉儍僢僔儏偺傾僀僥儉悢傪庢摼偡傞
	 *
	 * @return	僉儍僢僔儏傾僀僥儉悢
	 */
	TInt CountItem() const;
	/**
	 * 僉儍僢僔儏偺椞堟傪庢摼偡傞
	 *
	 * @param [out]	aStartIndex	僉儍僢僔儏偺TOP僀儞僨僢僋僗
	 * @param [out]	aCount		僉儍僢僔儏偺傾僀僥儉悢
	 */
	void CacheRange(TInt& aTopIndex, TInt& aCount) const;
	/**
	 * 傾僀僥儉悢傪庢摼偡傞
	 *
	 * @return	僉儍僢僔儏傾僀僥儉悢
	 */
	TInt NumberOfItems() const;
	/**
	 * 傾僀僥儉悢傪愝掕偡傞
	 *
	 * @param aNumberOfItems	傾僀僥儉悢
	 */
	void SetNumberOfItems(TInt aNumberOfItems);
	/**
	 * 儁乕僕僒僀僘乮堦搙偵撉傒崬傓傾僀僥儉悢乯傪庢摼偡傞
	 *
	 * @return	僉儍僢僔儏傾僀僥儉悢
	 */
	TInt PageCountItems() const;
	/**
	 * 嵟戝僉儍僢僔儏悢傪庢摼偡傞
	 *
	 * @return	僉儍僢僔儏傾僀僥儉悢
	 */
	TInt MaxCountItems() const;
	
private:
	//////////////////////////////////////////////////////////////
	// SkonMusicListBox I/F (MSkonMusicListBoxModel)
	//////////////////////////////////////////////////////////////	
	//幚嵺偺傾僀僥儉憤悢
	TInt									iNumberOfItems;

private:
	//////////////////////////////////////////////////////////////
	// 僉儍僢僔儏娗棟忣曬
	//////////////////////////////////////////////////////////////	
	//僉儍僢僔儏偺撉崬傒埵抲
	TInt									iTopIndex;
	//僉儍僢僔儏儁乕僕僒僀僘乮堦搙偵撉傒崬傓傾僀僥儉悢乯
	TInt									iPageSize;
	//嵟戝儁乕僕悢
	TInt									iMaxPage;
	//嵟戝僉儍僢僔儏僒僀僘
	TInt									iMaxSize;
	//僉儍僢僔儏傾僀僥儉攝楍
	RPointerArray<CSmbMusicAPMainPlayerFilterListItem> iItemArray;	
// Add-S PTX-824 暯壀
	DCM_NAMESPACE::RLog& 					iLog;			///< 儘僌弌椡僋儔僀傾儞僩(uses)
// Add-E PTX-824 暯壀
	};

SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERFILTERLISTCACHE_H__

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

⌨️ 快捷键说明

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