Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4** Contact: http://www.qt-project.org/legal
5**
6** This file is part of the QtDocGallery module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Digia. For licensing terms and
14** conditions see http://qt.digia.com/licensing. For further information
15** use the contact form at http://qt.digia.com/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 2.1 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 2.1 requirements
23** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24**
25** In addition, as a special exception, Digia gives you certain additional
26** rights. These rights are described in the Digia Qt LGPL Exception
27** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28**
29** GNU General Public License Usage
30** Alternatively, this file may be used under the terms of the GNU
31** General Public License version 3.0 as published by the Free Software
32** Foundation and appearing in the file LICENSE.GPL included in the
33** packaging of this file. Please review the following information to
34** ensure the GNU General Public License version 3.0 requirements will be
35** met: http://www.gnu.org/copyleft/gpl.html.
36**
37**
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#ifndef QGALLERYQUERYMODEL_H
43#define QGALLERYQUERYMODEL_H
44
45#include <qgalleryqueryrequest.h>
46
47#include <QtCore/qabstractitemmodel.h>
48
49QT_BEGIN_NAMESPACE_DOCGALLERY
50
51class QGalleryFilter;
52class QGalleryResultSet;
53
54class QGalleryQueryModelPrivate;
55
56class Q_GALLERY_EXPORT QGalleryQueryModel : public QAbstractItemModel
57{
58 Q_OBJECT
59 Q_PROPERTY(QAbstractGallery *gallery READ gallery WRITE setGallery NOTIFY galleryChanged)
60 Q_PROPERTY(QStringList sortPropertyNames READ sortPropertyNames WRITE setSortPropertyNames NOTIFY sortPropertyNamesChanged)
61 Q_PROPERTY(bool autoUpdate READ autoUpdate WRITE setAutoUpdate NOTIFY autoUpdateChanged)
62 Q_PROPERTY(int offset READ offset WRITE setOffset NOTIFY offsetChanged)
63 Q_PROPERTY(int limit READ limit WRITE setLimit NOTIFY limitChanged)
64 Q_PROPERTY(QString rootType READ rootType WRITE setRootType NOTIFY rootTypeChanged)
65 Q_PROPERTY(QVariant rootItem READ rootItem WRITE setRootItem NOTIFY rootItemChanged)
66 Q_PROPERTY(QGalleryQueryRequest::Scope scope READ scope WRITE setScope NOTIFY scopeChanged)
67 Q_PROPERTY(QGalleryFilter filter READ filter WRITE setFilter NOTIFY filterChanged)
68 Q_PROPERTY(int error READ error NOTIFY errorChanged)
69 Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
70 Q_PROPERTY(QGalleryAbstractRequest::State state READ state NOTIFY stateChanged)
71public:
72 QGalleryQueryModel(QObject *parent = Q_NULLPTR);
73 QGalleryQueryModel(QAbstractGallery *gallery, QObject *parent = Q_NULLPTR);
74 ~QGalleryQueryModel();
75
76 QAbstractGallery *gallery() const;
77 void setGallery(QAbstractGallery *gallery);
78
79 QHash<int, QString> roleProperties(int column) const;
80 void setRoleProperties(int column, const QHash<int, QString> &properties);
81
82 void addColumn(const QHash<int, QString> &properties);
83 void addColumn(const QString &property, int role = Qt::DisplayRole);
84 void insertColumn(int index, const QHash<int, QString> &properties);
85 void insertColumn(int index, const QString &property, int role = Qt::DisplayRole);
86 void removeColumn(int index);
87
88 QStringList sortPropertyNames() const;
89 void setSortPropertyNames(const QStringList &names);
90
91 bool autoUpdate() const;
92 void setAutoUpdate(bool enabled);
93
94 int offset() const;
95 void setOffset(int offset);
96
97 int limit() const;
98 void setLimit(int limit);
99
100 QString rootType() const;
101 void setRootType(const QString &itemType);
102
103 QVariant rootItem() const;
104 void setRootItem(const QVariant &itemId);
105
106 QGalleryQueryRequest::Scope scope() const;
107 void setScope(QGalleryQueryRequest::Scope scope);
108
109 QGalleryFilter filter() const;
110 void setFilter(const QGalleryFilter &filter);
111
112 void execute();
113 void cancel();
114 void clear();
115
116 int error() const;
117 QString errorString() const;
118
119 QGalleryAbstractRequest::State state() const;
120
121 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
122 QModelIndex parent(const QModelIndex &index) const;
123
124 int rowCount(const QModelIndex &parent = QModelIndex()) const;
125 int columnCount(const QModelIndex &parent = QModelIndex()) const;
126
127 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
128 bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
129
130 QVariant itemId(const QModelIndex &index) const;
131 QUrl itemUrl(const QModelIndex &index) const;
132 QString itemType(const QModelIndex &index) const;
133
134 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
135 bool setHeaderData(
136 int section,
137 Qt::Orientation orientation,
138 const QVariant &value,
139 int role = Qt::EditRole);
140
141 Qt::ItemFlags flags(const QModelIndex &index) const;
142
143Q_SIGNALS:
144 void galleryChanged();
145 void sortPropertyNamesChanged();
146 void autoUpdateChanged();
147 void offsetChanged();
148 void limitChanged();
149 void rootTypeChanged();
150 void rootItemChanged();
151 void scopeChanged();
152 void filterChanged();
153 void finished();
154 void canceled();
155 void error(int error, const QString &errorString);
156 void errorChanged();
157 void stateChanged(QGalleryAbstractRequest::State state);
158
159private:
160 QScopedPointer<QGalleryQueryModelPrivate> d_ptr;
161
162 Q_DECLARE_PRIVATE(QGalleryQueryModel)
163 Q_PRIVATE_SLOT(d_func(), void _q_resultSetChanged(QGalleryResultSet*))
164 Q_PRIVATE_SLOT(d_func(), void _q_itemsInserted(int, int))
165 Q_PRIVATE_SLOT(d_func(), void _q_itemsRemoved(int, int))
166 Q_PRIVATE_SLOT(d_func(), void _q_itemsMoved(int, int, int))
167 Q_PRIVATE_SLOT(d_func(), void _q_metaDataChanged(int, int, const QList<int> &))
168};
169
170QT_END_NAMESPACE_DOCGALLERY
171
172#endif
173

Warning: That file was not part of the compilation database. It may have many parsing errors.

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtdocgallery/src/gallery/qgalleryquerymodel.h