diff -r 463f1934e292 -r c348b9772569 hgwidgets_plat/hgcacheproxymodel_api/inc/hgdataprovidermodel.h --- a/hgwidgets_plat/hgcacheproxymodel_api/inc/hgdataprovidermodel.h Fri Jun 11 16:25:05 2010 +0100 +++ b/hgwidgets_plat/hgcacheproxymodel_api/inc/hgdataprovidermodel.h Thu Jul 22 16:36:56 2010 +0100 @@ -13,7 +13,7 @@ * * Description: * -* Version : %version: 5 % +* Version : %version: 11 % */ #ifndef HGDATAPROVIDERMODEL_H_ #define HGDATAPROVIDERMODEL_H_ @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include @@ -79,13 +79,14 @@ void newItem(QPair< QVariant, int > item, bool silent = true); void insertItem(int pos, QList< QPair< QVariant, int > >* list = NULL, bool silent = true); void insertItem(int pos, QPair< QVariant, int > item, bool silent = true); + void clearItem(int pos, bool silent = false); private: void doInsertItem(int pos, QList< QPair< QVariant, int > >* list, bool silent); protected: - void removeItem(int pos); - void removeItems(int pos, int size); + void removeItem(int pos, bool silent = false); + void removeItems(int pos, int size, bool silent = false); virtual QVariant defaultIcon() const = 0; inline bool containsRole(int idx, int role) const; @@ -93,9 +94,20 @@ public: void resetModel(); - + + enum HgDataProviderIconMode { + HgDataProviderIconHbIcon, + HgDataProviderIconQIcon, + HgDataProviderIconQImage, + HgDataProviderIconQPixmap + }; + + void setIconMode(HgDataProviderIconMode mode); + HgDataProviderIconMode iconMode(); + protected: virtual void doResetModel() {}; + virtual QVariant getData(int idx, int role) const {Q_UNUSED(idx); Q_UNUSED(role); return QVariant(); }; // helpers fot emits protected: @@ -119,8 +131,10 @@ QList< QPixmap* > mFreePixmaps; QMap< int, QPixmap* > mUsedPixmaps; int mUnallocatedPixmaps; -// QMutex mQPixmapsLock; + QMutex mQPixmapsLock; + QMutex mDataLock; HgDataProviderModelObserver *mObserver; + HgDataProviderIconMode mIconMode; }; inline bool HgDataProviderModel::isIndexValid(int idx) const @@ -136,7 +150,4 @@ mCache->at(idx)->contains(role) ); } - - - #endif // HGDATAPROVIDERMODEL_H_