![]() |
Mixxx
|
00001 #ifndef TREE_ITEM_MODEL_H 00002 #define TREE_ITEM_MODEL_H 00003 00004 #include <QAbstractItemModel> 00005 #include <QModelIndex> 00006 #include <QVariant> 00007 #include <QList> 00008 00009 class TreeItem; 00010 00011 class TreeItemModel : public QAbstractItemModel { 00012 Q_OBJECT 00013 public: 00014 TreeItemModel(QObject *parent = 0); 00015 virtual ~TreeItemModel(); 00016 00017 virtual QVariant data(const QModelIndex &index, int role) const; 00018 virtual Qt::ItemFlags flags(const QModelIndex &index) const; 00019 virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; 00020 virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; 00021 virtual QModelIndex parent(const QModelIndex &index) const; 00022 virtual bool insertRows(QList<TreeItem*> &data, int position, int rows, const QModelIndex &parent = QModelIndex()); 00023 virtual bool removeRows(int position, int rows, const QModelIndex &parent = QModelIndex()); 00024 virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; 00025 virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; 00026 void setRootItem(TreeItem *item); 00029 TreeItem* getItem(const QModelIndex &index) const; 00030 00031 private: 00032 TreeItem *m_rootItem; 00033 }; 00034 00035 #endif