// qsqltablemodel.sip generated by MetaSIP on Fri Sep 28 17:07:47 2007 // // This file is part of the QtSql Python extension module. // // Copyright (c) 2007 // Phil Thompson // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License version 2 as published by // the Free Software Foundation and appearing in the file LICENSE included in the // packaging of this file. // // PyQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. class QSqlTableModel : QSqlQueryModel { %TypeHeaderCode #include %End public: enum EditStrategy { OnFieldChange, OnRowChange, OnManualSubmit, }; QSqlTableModel(QObject *parent /TransferThis/ = 0, QSqlDatabase db = QSqlDatabase()); virtual ~QSqlTableModel(); virtual bool select(); virtual void setTable(const QString &tableName); QString tableName() const; virtual Qt::ItemFlags flags(const QModelIndex &index) const; virtual QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const; virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; bool isDirty(const QModelIndex &index) const; virtual void clear(); virtual void setEditStrategy(QSqlTableModel::EditStrategy strategy); QSqlTableModel::EditStrategy editStrategy() const; QSqlIndex primaryKey() const; QSqlDatabase database() const; int fieldIndex(const QString &fieldName) const; virtual void sort(int column, Qt::SortOrder order); virtual void setSort(int column, Qt::SortOrder order); QString filter() const; virtual void setFilter(const QString &filter); virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()); virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); bool insertRecord(int row, const QSqlRecord &record); bool setRecord(int row, const QSqlRecord &record); virtual void revertRow(int row); public slots: virtual bool submit(); virtual void revert(); bool submitAll(); void revertAll(); signals: void primeInsert(int row, QSqlRecord &record); void beforeInsert(QSqlRecord &record); void beforeUpdate(int row, QSqlRecord &record); void beforeDelete(int row); protected: virtual bool updateRowInTable(int row, const QSqlRecord &values); virtual bool insertRowIntoTable(const QSqlRecord &values); virtual bool deleteRowFromTable(int row); virtual QString orderByClause() const; virtual QString selectStatement() const; void setPrimaryKey(const QSqlIndex &key); void setQuery(const QSqlQuery &query); QModelIndex indexInQuery(const QModelIndex &item) const; };