-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathqcjsonreader.h
53 lines (38 loc) · 1.11 KB
/
qcjsonreader.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef QCJSONREADER_H
#define QCJSONREADER_H
#include <QObject>
#include <QQmlParserStatus>
#include <QQmlEngine>
#include <QPointer>
#include "priv/qcreader.h"
class QCJsonReader : public QCReader, public QQmlParserStatus
{
Q_OBJECT
Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(bool autoRead READ autoRead WRITE setAutoRead NOTIFY autoReadChanged)
Q_PROPERTY(QJSValue object READ object WRITE setObject NOTIFY objectChanged)
Q_INTERFACES(QQmlParserStatus)
public:
explicit QCJsonReader(QObject *parent = 0);
QString source() const;
void setSource(const QString &source);
bool autoRead() const;
void setAutoRead(bool autoRead);
QJSValue object() const;
void setObject(const QJSValue &object);
signals:
void sourceChanged();
void autoReadChanged();
void objectChanged();
public slots:
void read();
private:
void classBegin();
void componentComplete();
QString m_source;
bool m_autoRead;
bool m_componentCompleted;
QPointer<QQmlEngine> m_engine;
QJSValue m_object;
};
#endif // QCJSONREADER_H