ad83848f205b384d17432da34521b714439163d9
[mdictionary] / src / plugins / xdxf / DictsModel.h
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
5     mDictionary is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     mDictionary is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21
22 /*!
23  \file DictsModel.h
24  \author Mateusz Półrola <mateusz.polrola@comarch.pl>
25 */
26
27 #ifndef DICTSMODEL_H
28 #define DICTSMODEL_H
29
30
31 #include <QAbstractItemModel>
32 #include "DownloadDict.h"
33
34
35 /*!
36   Item model for informations about xdxf dictionaries.
37   Contains informations about languages of dictionary, it's name, size and
38  download link. Download link is stored as UserRole, and not displayed in views
39  using this model.
40 */
41 class DictsModel : public QAbstractItemModel
42 {
43     Q_OBJECT
44 public:
45     /*!
46       Constructor
47       \param dicts list of DownloadDict objects, each such object describes
48         one dictionary
49       */
50     DictsModel(QList<DownloadDict> dicts, QObject *parent);
51
52     int rowCount(const QModelIndex &parent = QModelIndex()) const;
53     int columnCount(const QModelIndex &parent = QModelIndex()) const;
54
55     QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
56     QModelIndex parent(const QModelIndex &child) const;
57
58     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
59     QVariant headerData(int section, Qt::Orientation orientation, int role) const;
60
61 private:
62     QList<DownloadDict> dicts;
63 };
64
65 #endif // DICTSMODEL_H