00001
00045 #ifndef QSPARQLQUERYMODEL_H
00046 #define QSPARQLQUERYMODEL_H
00047
00048 #include <QtCore/qabstractitemmodel.h>
00049 #include <QtSparql/qsparqlconnection.h>
00050
00051 QT_BEGIN_HEADER
00052
00053 QT_BEGIN_NAMESPACE
00054
00055 QT_MODULE(Sparql)
00056
00057 class QSparqlQueryModelPrivate;
00058 class QSparqlError;
00059 class QSparqlResultRow;
00060 class QSparqlQuery;
00061
00062 class Q_SPARQL_EXPORT QSparqlQueryModel: public QAbstractTableModel
00063 {
00064 Q_OBJECT
00065 Q_DECLARE_PRIVATE(QSparqlQueryModel)
00066
00067 public:
00068 explicit QSparqlQueryModel(QObject *parent = 0);
00069 virtual ~QSparqlQueryModel();
00070
00071 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00072 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00073 QSparqlResultRow resultRow(int row) const;
00074 QSparqlResultRow resultRow() const;
00075
00076 QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const;
00077 QVariant headerData(int section, Qt::Orientation orientation,
00078 int role = Qt::DisplayRole) const;
00079 bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value,
00080 int role = Qt::EditRole);
00081
00082 bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex());
00083 bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex());
00084
00085 void setQuery(const QSparqlQuery &query, QSparqlConnection &conn);
00086 QSparqlQuery query() const;
00087
00088 virtual void clear();
00089
00090 QSparqlError lastError() const;
00091
00092 Q_SIGNALS:
00093 void finished();
00094
00095 protected:
00096 virtual void queryChange();
00097
00098 QModelIndex indexInQuery(const QModelIndex &item) const;
00099 void setLastError(const QSparqlError &error);
00100 private:
00101 QSparqlQueryModelPrivate* d;
00102 };
00103
00104 QT_END_NAMESPACE
00105
00106 QT_END_HEADER
00107
00108 #endif // QSPARQLQUERYMODEL_H