📄 smbmusicapmainplayerfilterlistcache.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 + -