40 #ifndef QSPARQLRESULTSLIST_H
41 #define QSPARQLRESULTSLIST_H
43 #include <QSparqlQuery>
44 #include <QSparqlResult>
45 #include <QSparqlBinding>
46 #include <QSparqlConnectionOptions>
47 #include <QSparqlConnection>
49 #include <private/qsparqlsparqlconnectionoptions_p.h>
51 #include <QtCore/QAbstractListModel>
59 class QSparqlResultsListPrivate;
61 class Q_SPARQL_EXPORT QSparqlResultsList :
public QAbstractListModel
65 Q_PROPERTY(SparqlConnectionOptions * options READ options WRITE setOptions NOTIFY optionsChanged)
66 Q_PROPERTY(QString query READ query WRITE setQuery NOTIFY queryChanged)
67 Q_PROPERTY(
int count READ count NOTIFY countChanged)
68 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
69 Q_CLASSINFO(
"DefaultProperty",
"query")
72 QSparqlResultsList(QObject *parent = 0);
73 ~QSparqlResultsList();
75 QVariant data(const QModelIndex &index,
int role) const;
76 int rowCount(const QModelIndex &parent) const;
78 SparqlConnectionOptions * options() const;
79 void setOptions(SparqlConnectionOptions *options);
81 QString query() const;
82 void setQuery(const QString &query);
86 enum Status { Null, Ready, Loading, Error };
87 Status status()
const;
89 Q_INVOKABLE QString errorString()
const;
91 virtual QHash<int, QByteArray> roleNames()
const;
98 void statusChanged(QSparqlResultsList::Status);
99 void optionsChanged();
104 void queryData(
int totalResults);
105 void queryFinished();
108 QSparqlResultsListPrivate* d;
115 #endif // QSPARQLRESULTSLIST_H