1// qsqlquerymodel.sip generated by MetaSIP
2//
3// This file is part of the QtSql Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QSqlQueryModel : QAbstractTableModel
24{
25%TypeHeaderCode
26#include <qsqlquerymodel.h>
27%End
28
29public:
30    explicit QSqlQueryModel(QObject *parent /TransferThis/ = 0);
31    virtual ~QSqlQueryModel();
32    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
33    virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
34    QSqlRecord record(int row) const;
35    QSqlRecord record() const;
36    virtual QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const;
37    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
38    virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole);
39    virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex());
40    virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex());
41    void setQuery(const QSqlQuery &query);
42    void setQuery(const QString &query, const QSqlDatabase &db = QSqlDatabase());
43    QSqlQuery query() const;
44    virtual void clear();
45    QSqlError lastError() const;
46    virtual void fetchMore(const QModelIndex &parent = QModelIndex());
47    virtual bool canFetchMore(const QModelIndex &parent = QModelIndex()) const;
48
49protected:
50    virtual void queryChange();
51    virtual QModelIndex indexInQuery(const QModelIndex &item) const;
52    void setLastError(const QSqlError &error);
53    void beginResetModel();
54    void endResetModel();
55    void beginInsertRows(const QModelIndex &parent, int first, int last);
56    void endInsertRows();
57    void beginRemoveRows(const QModelIndex &parent, int first, int last);
58    void endRemoveRows();
59    void beginInsertColumns(const QModelIndex &parent, int first, int last);
60    void endInsertColumns();
61    void beginRemoveColumns(const QModelIndex &parent, int first, int last);
62    void endRemoveColumns();
63
64public:
65%If (Qt_5_10_0 -)
66    virtual QHash<int, QByteArray> roleNames() const;
67%End
68};
69