diff -r e48454f237ca -r 49c70dcc3f17 hgwidgets_plat/hgcacheproxymodel_api/inc/hgcacheproxymodel.h --- a/hgwidgets_plat/hgcacheproxymodel_api/inc/hgcacheproxymodel.h Mon May 03 13:32:54 2010 +0300 +++ b/hgwidgets_plat/hgcacheproxymodel_api/inc/hgcacheproxymodel.h Fri May 14 16:57:01 2010 +0300 @@ -13,7 +13,7 @@ * * Description: * -* Version : %version: 2 % +* Version : %version: 5 % */ #ifndef HGCACHEPROXYMODEL_H_ @@ -47,69 +47,69 @@ virtual void request(int start, int end, HgRequestOrder order = HgRequestOrderAscending) = 0; }; -class HgCacheProxyModel : public QAbstractItemModel, public HgBufferManagerObserver, public HgDataProviderModelObserver +class CACHEPROXYMODEL_EXPORT HgCacheProxyModel : public QAbstractItemModel, public HgBufferManagerObserver, public HgDataProviderModelObserver { Q_OBJECT public: - CACHEPROXYMODEL_EXPORT HgCacheProxyModel(QObject *parent = 0); - CACHEPROXYMODEL_EXPORT ~HgCacheProxyModel(); + HgCacheProxyModel(QObject *parent = 0); + ~HgCacheProxyModel(); - CACHEPROXYMODEL_EXPORT void setDataProvider(HgDataProviderModel *dataProvider, int cacheSize = KDefaultCacheSize, int cacheTreshold = KDefaultCacheTreshold); - CACHEPROXYMODEL_EXPORT HgDataProviderModel* DataProvider(); - CACHEPROXYMODEL_EXPORT void resizeCache(int newSize, int newTreshold); + void setDataProvider(HgDataProviderModel *dataProvider, int cacheSize = KDefaultCacheSize, int cacheTreshold = KDefaultCacheTreshold); + HgDataProviderModel* DataProvider(); + void resizeCache(int newSize, int newTreshold); //from QAbstractItemModel - CACHEPROXYMODEL_EXPORT virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; - CACHEPROXYMODEL_EXPORT virtual QModelIndex parent(const QModelIndex &child) const; - CACHEPROXYMODEL_EXPORT virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; - CACHEPROXYMODEL_EXPORT virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; - CACHEPROXYMODEL_EXPORT virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; - CACHEPROXYMODEL_EXPORT virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - CACHEPROXYMODEL_EXPORT virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); - CACHEPROXYMODEL_EXPORT virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - CACHEPROXYMODEL_EXPORT virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole); - CACHEPROXYMODEL_EXPORT virtual QMap itemData(const QModelIndex &index) const; - CACHEPROXYMODEL_EXPORT virtual bool setItemData(const QModelIndex &index, const QMap &roles); - CACHEPROXYMODEL_EXPORT virtual QStringList mimeTypes() const; - CACHEPROXYMODEL_EXPORT virtual QMimeData *mimeData(const QModelIndexList &indexes) const; - CACHEPROXYMODEL_EXPORT virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); - CACHEPROXYMODEL_EXPORT virtual Qt::DropActions supportedDropActions() const; - CACHEPROXYMODEL_EXPORT virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); - CACHEPROXYMODEL_EXPORT virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()); - CACHEPROXYMODEL_EXPORT virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); - CACHEPROXYMODEL_EXPORT virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()); - CACHEPROXYMODEL_EXPORT virtual void fetchMore(const QModelIndex &parent); - CACHEPROXYMODEL_EXPORT virtual bool canFetchMore(const QModelIndex &parent) const; - CACHEPROXYMODEL_EXPORT virtual Qt::ItemFlags flags(const QModelIndex &index) const; - CACHEPROXYMODEL_EXPORT virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder); - CACHEPROXYMODEL_EXPORT virtual QModelIndex buddy(const QModelIndex &index) const; - CACHEPROXYMODEL_EXPORT virtual QModelIndexList match(const QModelIndex &start, int role, + virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + virtual QModelIndex parent(const QModelIndex &child) const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole); + virtual QMap itemData(const QModelIndex &index) const; + virtual bool setItemData(const QModelIndex &index, const QMap &roles); + virtual QStringList mimeTypes() const; + virtual QMimeData *mimeData(const QModelIndexList &indexes) const; + virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); + virtual Qt::DropActions supportedDropActions() const; + virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); + virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()); + virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()); + virtual void fetchMore(const QModelIndex &parent); + virtual bool canFetchMore(const QModelIndex &parent) const; + virtual Qt::ItemFlags flags(const QModelIndex &index) const; + virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder); + virtual QModelIndex buddy(const QModelIndex &index) const; + virtual QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const; - CACHEPROXYMODEL_EXPORT virtual QSize span(const QModelIndex &index) const; + virtual QSize span(const QModelIndex &index) const; // for sorting - CACHEPROXYMODEL_EXPORT Qt::CaseSensitivity sortCaseSensitivity() const; - CACHEPROXYMODEL_EXPORT void setSortCaseSensitivity(Qt::CaseSensitivity cs); - CACHEPROXYMODEL_EXPORT bool isSortLocaleAware() const; - CACHEPROXYMODEL_EXPORT void setSortLocaleAware(bool on); - CACHEPROXYMODEL_EXPORT int sortColumn() const; - CACHEPROXYMODEL_EXPORT Qt::SortOrder sortOrder() const; - CACHEPROXYMODEL_EXPORT bool dynamicSortFilter() const; - CACHEPROXYMODEL_EXPORT void setDynamicSortFilter(bool enable); - CACHEPROXYMODEL_EXPORT int sortRole() const; - CACHEPROXYMODEL_EXPORT void setSortRole(int role); + Qt::CaseSensitivity sortCaseSensitivity() const; + void setSortCaseSensitivity(Qt::CaseSensitivity cs); + bool isSortLocaleAware() const; + void setSortLocaleAware(bool on); + int sortColumn() const; + Qt::SortOrder sortOrder() const; + bool dynamicSortFilter() const; + void setDynamicSortFilter(bool enable); + int sortRole() const; + void setSortRole(int role); //for filtering -// CACHEPROXYMODEL_EXPORT QRegExp filterRegExp() const; -// CACHEPROXYMODEL_EXPORT void setFilterRegExp(const QRegExp ®Exp); -// CACHEPROXYMODEL_EXPORT int filterKeyColumn() const; -// CACHEPROXYMODEL_EXPORT void setFilterKeyColumn(int column); -// CACHEPROXYMODEL_EXPORT Qt::CaseSensitivity filterCaseSensitivity() const; -// CACHEPROXYMODEL_EXPORT void setFilterCaseSensitivity(Qt::CaseSensitivity cs); -// CACHEPROXYMODEL_EXPORT int filterRole() const; -// CACHEPROXYMODEL_EXPORT void setFilterRole(int role); + QRegExp filterRegExp() const; + void setFilterRegExp(const QRegExp ®Exp); + int filterKeyColumn() const; + void setFilterKeyColumn(int column); + Qt::CaseSensitivity filterCaseSensitivity() const; + void setFilterCaseSensitivity(Qt::CaseSensitivity cs); + int filterRole() const; + void setFilterRole(int role); public slots: virtual bool submit(); @@ -117,8 +117,8 @@ public: //from HgBufferManagerObserver - CACHEPROXYMODEL_EXPORT virtual void release(int start, int end); - CACHEPROXYMODEL_EXPORT virtual void request(int start, int end, HgRequestOrder order = HgRequestOrderAscending); + virtual void release(int start, int end); + virtual void request(int start, int end, HgRequestOrder order = HgRequestOrderAscending); private: int count()const; @@ -126,32 +126,41 @@ QModelIndex mapToSource(int row, int col) const; int mapToDataProviderIndex(int myIndex) const; int mapFromDataProviderIndex(int myIndex) const; - void cleanupForBMResetIfNeeded(); - void resetBMIfNeeded(); + void cleanupForBMReset(); + void resetBM(); void releaseAll(); void setBufferPosition(int pos) const; private slots: - void sourceReset(); - void sourceAboutToBeReset(); - void sourceRowsInserted(const QModelIndex &source_parent, int start, int end); - void sourceRowsRemoved(const QModelIndex &source_parent, int start, int end); - void dataUpdated(QModelIndex from, QModelIndex to); + void sourceColumnsAboutToBeInserted( const QModelIndex & parent, int start, int end); + void sourceColumnsAboutToBeMoved( const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn ); + void sourceColumnsAboutToBeRemoved( const QModelIndex & parent, int start, int end); + void sourceColumnsInserted( const QModelIndex & parent, int start, int end ); + void sourceColumnsMoved( const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn ); + void sourceColumnsRemoved( const QModelIndex & parent, int start, int end ); + void sourceDataChanged( const QModelIndex & topLeft, const QModelIndex & bottomRight ); + void sourceHeaderDataChanged( Qt::Orientation orientation, int first, int last ); + void sourceLayoutAboutToBeChanged(); + void sourceLayoutChanged(); + void sourceModelAboutToBeReset(); + void sourceModelReset(); + void sourceRowsAboutToBeInserted( const QModelIndex & parent, int start, int end ); + void sourceRowsAboutToBeMoved( const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow ); + void sourceRowsAboutToBeRemoved( const QModelIndex & parent, int start, int end ); + void sourceRowsInserted( const QModelIndex & parent, int start, int end ); + void sourceRowsMoved( const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow ); + void sourceRowsRemoved( const QModelIndex & parent, int start, int end ); //from HgDataProviderModelObserver public: - CACHEPROXYMODEL_EXPORT virtual void dataUpdated(int from, int to); + virtual void dataUpdated(int from, int to); private: HgBufferManager* mBufferManager; QSortFilterProxyModel* mSortFilterProxyModel; HgDataProviderModel* mDataProviderModel; - mutable bool mResetNeeded; mutable bool mSupressBM; mutable int mCurrentPos; - bool mSortParameterChanged; - bool mFilterParameterChanged; - }; #endif // HGCACHEPROXYMODEL_H_