Commit 5c8110d 1 parent 3ef9054 commit 5c8110d Copy full SHA for 5c8110d
File tree 2 files changed +34
-17
lines changed
2 files changed +34
-17
lines changed Original file line number Diff line number Diff line change @@ -375,18 +375,32 @@ ApplicationWindow {
375
375
376
376
Thymio {
377
377
id: thymio
378
+ property bool playingOld : false
378
379
property bool playing: false
379
- events: vplEditor ? vplEditor .compiler .output .events : {}
380
- source: playing ? vplEditor .compiler .output .script : " "
381
380
onNodeChanged: playing = false
382
381
onPlayingChanged: {
383
- vplEditor .compiler .execReset (playing);
384
- if (! playing) {
385
- setVariable (" motor.left.target" , 0 );
386
- setVariable (" motor.right.target" , 0 );
387
- } else {
388
- vplEditor .saveProgram (autosaveName);
382
+ if (playing && ! playingOld) {
383
+ start ();
384
+ } else if (! playing && playingOld) {
385
+ stop ();
389
386
}
387
+ playingOld = playing;
388
+ }
389
+ function start () {
390
+ vplEditor .saveProgram (autosaveName);
391
+ vplEditor .compiler .execReset (true );
392
+ var output = vplEditor .compiler .output ;
393
+ program = {
394
+ events: output .events ,
395
+ source: output .script ,
396
+ };
397
+ }
398
+ function stop () {
399
+ vplEditor .compiler .execReset (false );
400
+ program = {
401
+ events: {},
402
+ source: " " ,
403
+ };
390
404
}
391
405
onErrorChanged: if (error !== " " ) { vplEditor .compiler .output .error = error; }
392
406
}
Original file line number Diff line number Diff line change @@ -3,11 +3,6 @@ import Aseba 1.0
3
3
import Simulator 1.0
4
4
5
5
Item {
6
- property var variables: ({})
7
- property var events: ({})
8
- property string source: " "
9
- property string error: " "
10
-
11
6
property var node: {
12
7
for (var i = 0 ; i < aseba .nodes .length ; ++ i) {
13
8
var node = aseba .nodes [i];
@@ -17,19 +12,27 @@ Item {
17
12
}
18
13
}
19
14
15
+ property var variables: ({})
16
+ property var program: ({
17
+ " events" : {},
18
+ " source" : " " ,
19
+ })
20
+ property string error: " "
21
+
20
22
Simulator {
21
23
id: simulator
22
24
onSimulationCompleted: console .log (JSON .stringify (log));
23
25
onNotify: console .log (" Thymio said: " + level + " " + description + " " + arguments )
24
26
}
25
27
26
28
onNodeChanged: {
27
- setVariables ();
28
- setProgram ();
29
+ if (node) {
30
+ setVariables ();
31
+ setProgram ();
32
+ }
29
33
}
30
34
onVariablesChanged: setVariables ()
31
- onEventsChanged: setProgram ()
32
- onSourceChanged: setProgram ()
35
+ onProgramChanged: setProgram ()
33
36
34
37
function setVariables () {
35
38
if (node) {
You can’t perform that action at this time.
0 commit comments