Clean and order documentation in source files. Source ready to beta 2 release
[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    \file DictsModel.h
23    \brief Item model for informations about xdxf dictionaries.
24
25    \author Mateusz Półrola <mateusz.polrola@comarch.pl>
26 */
27
28 #ifndef DICTSMODEL_H
29 #define DICTSMODEL_H
30
31
32 #include <QAbstractItemModel>
33 #include "DownloadDict.h"
34
35
36 /*!
37   Item model for informations about xdxf dictionaries.
38   Contains informations about languages of dictionary, it's name, size and
39  download link. Download link is stored as UserRole, and not displayed in views
40  using this model.
41 */
42 class DictsModel : public QAbstractItemModel
43 {
44     Q_OBJECT
45 public:
46     /*!
47         Constructor
48         \param dicts list of DownloadDict objects, each such object describes
49         one dictionary
50     */
51     DictsModel(QList<DownloadDict> dicts, QObject *parent);
52
53     //! \return return numner of rows
54     int rowCount(const QModelIndex &parent = QModelIndex()) const;
55
56     //! \return return numner of columns
57     int columnCount(const QModelIndex &parent = QModelIndex()) const;
58
59     //!  create Index,  createIndex(row,column,row)
60     QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
61
62     //! return new QModelIndex;
63     QModelIndex parent(const QModelIndex &child) const;
64
65     /*!
66         \return return empty QVariant when role is't DisplayRole,
67         else return QVariant (QString with _from,_to,_title)
68     */
69     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
70
71     //! \return return a QVariant with header QString.
72     QVariant headerData(int section, Qt::Orientation orientation, int role) const;
73
74 private:
75     QList<DownloadDict> dicts;
76 };
77
78 #endif // DICTSMODEL_H