forked from CanonicalLtd/react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreactview.h
More file actions
83 lines (62 loc) · 2.24 KB
/
reactview.h
File metadata and controls
83 lines (62 loc) · 2.24 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/**
* Copyright (C) 2016, Canonical Ltd.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* Author: Justin McPherson <justin.mcpherson@canonical.com>
*
*/
#ifndef REACTVIEW_H
#define REACTVIEW_H
#include <QString>
#include <QUrl>
#include <QScopedPointer>
#include "reactitem.h"
class ReactBridge;
class ReactViewPrivate;
class ReactView : public ReactItem
{
Q_OBJECT
Q_PROPERTY(bool liveReload READ liveReload WRITE setLiveReload NOTIFY liveReloadChanged)
Q_PROPERTY(QString moduleName READ moduleName WRITE setModuleName NOTIFY moduleNameChanged)
Q_PROPERTY(QUrl codeLocation READ codeLocation WRITE setCodeLocation NOTIFY codeLocationChanged)
Q_PROPERTY(QVariantMap properties READ properties WRITE setProperties NOTIFY propertiesChanged)
Q_PROPERTY(QString pluginsPath READ pluginsPath WRITE setPluginsPath NOTIFY pluginsPathChanged)
Q_PROPERTY(QString executor READ executor WRITE setExecutor NOTIFY executorChanged)
Q_DECLARE_PRIVATE(ReactView)
public:
ReactView(QQuickItem *parent = 0);
~ReactView();
bool liveReload() const;
void setLiveReload(bool liveReload);
QString moduleName() const;
void setModuleName(const QString& moduleName);
QUrl codeLocation() const;
void setCodeLocation(const QUrl& codeLocation);
QVariantMap properties() const;
void setProperties(const QVariantMap& properties);
QString pluginsPath() const;
void setPluginsPath(const QString& pluginsPath);
QString executor() const;
void setExecutor(const QString& executor);
Q_SIGNALS:
void liveReloadChanged();
void moduleNameChanged();
void codeLocationChanged();
void propertiesChanged();
void pluginsPathChanged();
void executorChanged();
private Q_SLOTS:
void bridgeReady();
private:
void componentComplete() override;
void mousePressEvent(QMouseEvent* event) override;
void mouseMoveEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
bool childMouseEventFilter(QQuickItem* item, QEvent* event) override;
QScopedPointer<ReactViewPrivate> d_ptr;
};
#endif // REACTVIEW_H