![]() |
Mixxx
|
00001 // cratetablemodel.h 00002 // Created 10/25/2009 by RJ Ryan (rryan@mit.edu) 00003 00004 #ifndef CRATETABLEMODEL_H 00005 #define CRATETABLEMODEL_H 00006 00007 #include <QItemDelegate> 00008 #include <QSqlTableModel> 00009 00010 #include "library/basesqltablemodel.h" 00011 00012 class TrackCollection; 00013 00014 class CrateTableModel : public BaseSqlTableModel { 00015 Q_OBJECT 00016 public: 00017 CrateTableModel(QObject* parent, TrackCollection* pTrackCollection); 00018 virtual ~CrateTableModel(); 00019 00020 void setCrate(int crateId); 00021 int getCrate() const { 00022 return m_iCrateId; 00023 } 00024 00025 // From TrackModel 00026 virtual TrackPointer getTrack(const QModelIndex& index) const; 00027 virtual void search(const QString& searchText); 00028 virtual bool isColumnInternal(int column); 00029 virtual bool isColumnHiddenByDefault(int column); 00030 virtual void removeTrack(const QModelIndex& index); 00031 virtual void removeTracks(const QModelIndexList& indices); 00032 virtual bool addTrack(const QModelIndex& index, QString location); 00033 virtual void moveTrack(const QModelIndex& sourceIndex, 00034 const QModelIndex& destIndex); 00035 TrackModel::CapabilitiesFlags getCapabilities() const; 00036 virtual QItemDelegate* delegateForColumn(const int i); 00037 00038 private slots: 00039 void slotSearch(const QString& searchText); 00040 00041 signals: 00042 void doSearch(const QString& searchText); 00043 00044 private: 00045 TrackCollection* m_pTrackCollection; 00046 int m_iCrateId; 00047 }; 00048 00049 #endif /* CRATETABLEMODEL_H */