File indexing completed on 2024-05-12 05:43:31
0001 /* 0002 Copyright (C) 2015 Volker Krause <vkrause@kde.org> 0003 0004 This program is free software; you can redistribute it and/or modify it 0005 under the terms of the GNU Library General Public License as published by 0006 the Free Software Foundation; either version 2 of the License, or (at your 0007 option) any later version. 0008 0009 This program is distributed in the hope that it will be useful, but WITHOUT 0010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0011 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 0012 License for more details. 0013 0014 You should have received a copy of the GNU General Public License 0015 along with this program. If not, see <https://www.gnu.org/licenses/>. 0016 */ 0017 0018 #ifndef FILELISTMODEL_H 0019 #define FILELISTMODEL_H 0020 0021 #include <QAbstractListModel> 0022 0023 class ElfFileSet; 0024 0025 /** Simple flat list of all files in an ElfFileSet. */ 0026 class FileListModel : public QAbstractListModel 0027 { 0028 Q_OBJECT 0029 public: 0030 enum Role { 0031 FileIndexRole = Qt::UserRole + 1, 0032 FileRole 0033 }; 0034 explicit FileListModel(QObject* parent = nullptr); 0035 ~FileListModel(); 0036 0037 ElfFileSet *fileSet() const; 0038 void setFileSet(ElfFileSet *fileSet); 0039 0040 QVariant data(const QModelIndex& index, int role) const override; 0041 int rowCount(const QModelIndex& parent) const override; 0042 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; 0043 0044 private: 0045 ElfFileSet *m_fileSet = nullptr; 0046 }; 0047 0048 #endif // FILELISTMODEL_H