equal
deleted
inserted
replaced
30 |
30 |
31 onClicked: { |
31 onClicked: { |
32 stepTimer.stop(); |
32 stepTimer.stop(); |
33 } |
33 } |
34 } |
34 } |
|
35 |
|
36 Label { |
|
37 text: "Best: %1".arg(tracer.bestSolution) |
|
38 } |
35 } |
39 } |
36 } |
40 } |
37 |
41 |
38 FileDialog { |
42 FileDialog { |
39 id: fileDialog |
43 id: fileDialog |
53 |
57 |
54 |
58 |
55 Timer { |
59 Timer { |
56 id: stepTimer |
60 id: stepTimer |
57 |
61 |
58 interval: 1500 |
62 interval: 120 |
59 repeat: true |
63 repeat: true |
60 running: false |
64 running: false |
61 triggeredOnStart: true |
65 triggeredOnStart: true |
62 |
66 |
63 onTriggered: tracer.step() |
67 onTriggered: tracer.step() |
68 |
72 |
69 Image { |
73 Image { |
70 id: baseImage |
74 id: baseImage |
71 |
75 |
72 Layout.fillWidth: true |
76 Layout.fillWidth: true |
73 Layout.preferredHeight: 128 |
77 Layout.preferredHeight: 32 |
74 fillMode: Image.PreserveAspectFit |
78 fillMode: Image.PreserveAspectFit |
75 } |
79 } |
76 |
80 |
77 GridLayout { |
81 GridLayout { |
78 Layout.fillWidth: true |
82 Layout.fillWidth: true |
79 Layout.fillHeight: true |
83 Layout.fillHeight: true |
80 columns: 10 |
84 columns: 50 |
81 |
85 |
82 Repeater { |
86 Repeater { |
83 model: tracer.solutions |
87 model: tracer.solutions |
84 |
88 |
85 Image { |
89 Image { |