-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrobotmodel.h
181 lines (140 loc) · 5.51 KB
/
robotmodel.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
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#ifndef ROBOTMODEL_H
#define ROBOTMODEL_H
#include <QObject>
#include <QQmlEngine>
#include <QJSEngine>
#include <QString>
#include <QVariantMap>
class RobotModel : public QObject
{
Q_OBJECT
private:
// RW
Q_PROPERTY(bool exit READ getExit WRITE setExit NOTIFY exitChanged)
Q_PROPERTY(QString team READ getTeam WRITE setTeam NOTIFY teamChanged)
Q_PROPERTY(QString strategy READ getStrategy WRITE setStrategy NOTIFY strategyChanged)
Q_PROPERTY(bool startCalibration READ getStartCalibration WRITE setStartCalibration NOTIFY startCalibrationChanged)
Q_PROPERTY(bool skipCalageBordure READ getSkipCalageBordure WRITE setSkipCalageBordure NOTIFY skipCalageBordureChanged)
Q_PROPERTY(bool modeManuel READ getModeManuel WRITE setModeManuel NOTIFY modeManuelChanged)
Q_PROPERTY(bool safeAvoidance READ getSafeAvoidance WRITE setSafeAvoidance NOTIFY safeAvoidanceChanged)
Q_PROPERTY(bool updatePhoto READ getUpdatePhoto WRITE setUpdatePhoto NOTIFY updatePhotoChanged)
Q_PROPERTY(bool twoRobots READ getTwoRobots WRITE setTwoRobots NOTIFY twoRobotsChanged)
Q_PROPERTY(QVariantMap options READ getOptions WRITE setOptions NOTIFY optionsChanged)
// RO
Q_PROPERTY(bool au READ getAu NOTIFY auChanged)
Q_PROPERTY(bool alimMoteurs READ getAlimMoteurs NOTIFY alimMoteursChanged)
Q_PROPERTY(bool alimServos READ getAlimServos NOTIFY alimServosChanged)
Q_PROPERTY(bool inMatch READ getInMatch NOTIFY inMatchChanged)
Q_PROPERTY(bool tirette READ getTirette NOTIFY tiretteChanged)
Q_PROPERTY(bool i2c READ getI2c NOTIFY i2cChanged)
Q_PROPERTY(bool lidar READ getLidar NOTIFY lidarChanged)
Q_PROPERTY(bool otherRobot READ getOtherRobot NOTIFY otherRobotChanged)
Q_PROPERTY(bool pamiTriangle READ getPamiTriangle NOTIFY pamiTriangleChanged)
Q_PROPERTY(bool pamiCarre READ getPamiCarre NOTIFY pamiCarreChanged)
Q_PROPERTY(bool pamiRond READ getPamiRond NOTIFY pamiRondChanged)
Q_PROPERTY(bool balise READ getBalise NOTIFY baliseChanged)
Q_PROPERTY(int score READ getScore NOTIFY scoreChanged)
Q_PROPERTY(QString message READ getMessage NOTIFY messageChanged)
Q_PROPERTY(QString photoMessage READ getPhotoMessage NOTIFY photoMessageChanged)
Q_PROPERTY(QString photo READ getPhoto NOTIFY photoChanged)
static RobotModel* instance;
RobotModel(QObject *parent = nullptr);
public:
static RobotModel* getInstance();
// RW
bool getExit();
void setExit(bool value);
QString getTeam();
void setTeam(QString team);
bool getStartCalibration();
void setStartCalibration(bool value);
QString getStrategy();
void setStrategy(QString strategy);
bool getSkipCalageBordure();
void setSkipCalageBordure(bool value);
bool getModeManuel();
void setModeManuel(bool value);
bool getSafeAvoidance();
void setSafeAvoidance(bool value);
bool getUpdatePhoto();
void setUpdatePhoto(bool value);
bool getTwoRobots();
void setTwoRobots(bool value);
QVariantMap getOptions();
void setOptions(QVariantMap value);
Q_INVOKABLE void setOption(QString name, bool value);
// RO
bool getInMatch();
void setInMatch(bool value);
bool getI2c();
void setI2c(bool value);
bool getLidar();
void setLidar(bool value);
bool getAu();
void setAu(bool value);
bool getAlimMoteurs();
void setAlimMoteurs(bool value);
bool getAlimServos();
void setAlimServos(bool value);
bool getTirette();
void setTirette(bool value);
bool getOtherRobot();
void setOtherRobot(bool value);
bool getPamiTriangle();
void setPamiTriangle(bool value);
bool getPamiCarre();
void setPamiCarre(bool value);
bool getPamiRond();
void setPamiRond(bool value);
bool getBalise();
void setBalise(bool value);
int getScore();
void setScore(int value);
QString getMessage();
void setMessage(QString value);
QString getPhotoMessage();
void setPhotoMessage(QString value);
QString getPhoto();
void setPhoto(QString value);
signals:
// RW
void exitChanged(bool newValue);
void teamChanged(QString newValue);
void strategyChanged(QString newValue);
void startCalibrationChanged(bool newValue);
void skipCalageBordureChanged(bool newValue);
void modeManuelChanged(bool newValue);
void safeAvoidanceChanged(bool newValue);
void updatePhotoChanged(bool newValue);
void twoRobotsChanged(bool newValue);
void optionsChanged(QVariantMap newValue);
// RO
void i2cChanged(bool newValue);
void lidarChanged(bool newValue);
void alimMoteursChanged(bool newValue);
void alimServosChanged(bool newValue);
void auChanged(bool newValue);
void baliseChanged(bool newValue);
void messageChanged(QString message);
void otherRobotChanged(bool newValue);
void pamiTriangleChanged(bool newValue);
void pamiCarreChanged(bool newValue);
void pamiRondChanged(bool newValue);
void scoreChanged(int newValue);
void inMatchChanged(bool newValue);
void tiretteChanged(bool newValue);
void photoMessageChanged(QString newValue);
void photoChanged(QString newValue);
public slots:
private:
// RW
QString team, strategy;
bool exit, startCalibration, modeManuel, skipCalageBordure, safeAvoidance, updatePhoto, twoRobots;
QVariantMap options;
// RO
int score;
bool inMatch, au, alimMoteurs, alimServos, tirette, otherRobot;
bool pamiTriangle, pamiCarre, pamiRond, balise, i2c, lidar;
QString message, photoMessage, photo;
};
#endif // ROBOTMODEL_H