151 lines
3.6 KiB
QML
151 lines
3.6 KiB
QML
import QtQuick 2.9
|
|
import QtQuick.Window 2.2
|
|
import QtQuick.Controls 2.4
|
|
import QtQuick.Layouts 1.3
|
|
|
|
import Test 1.0
|
|
|
|
Window {
|
|
id: window
|
|
objectName: "qmlWindow"
|
|
|
|
visible: true
|
|
width: 640
|
|
height: 680
|
|
title: qsTr("Hello World")
|
|
|
|
Connections {
|
|
target: mgmt
|
|
|
|
onNewDistMeas: {
|
|
|
|
if (cbNUC.currentIndex == idx) {
|
|
chart.pushData(value);
|
|
lblMean.text = "Mean: " + chart.mean.toFixed(3) + "\nStdDev: " + chart.stdDev.toFixed(3);
|
|
lblCount.text = "Count: " + chart.totalCount + "\nMax bin: " + chart.maxBinValue.toFixed(3);
|
|
lblRunTime.text = "Time: " + (mgmt.runTimeInMs() / 1000.0).toFixed(0) + "s";
|
|
}
|
|
}
|
|
|
|
onIsRunningChanged: {
|
|
if (mgmt.isRunning) {
|
|
// running
|
|
btnTrigger.text = "Stop";
|
|
cbNUC.enabled = false;
|
|
cbLogToDisk.enabled = false;
|
|
cbMeasTime.enabled = false;
|
|
} else {
|
|
btnTrigger.text = "Start";
|
|
cbNUC.enabled = true;
|
|
cbLogToDisk.enabled = true;
|
|
cbMeasTime.enabled = true;
|
|
|
|
if (cbMeasTime.currentIndex != 0) {
|
|
Vibration.vibrate(1000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
GridLayout {
|
|
anchors.fill: parent;
|
|
|
|
Row {
|
|
Layout.row: 0;
|
|
Layout.column: 0;
|
|
spacing: 3;
|
|
|
|
ComboBox {
|
|
id: cbNUC;
|
|
height: 60;
|
|
width: 85;
|
|
model: ["NUC1", "NUC2", "NUC3", "NUC4", "NUC5", "NUC6", "NUC7", "NUC8"];
|
|
onCurrentIndexChanged: {
|
|
chart.reset();
|
|
}
|
|
}
|
|
|
|
|
|
ComboBox {
|
|
id: cbMeasTime;
|
|
height: 60;
|
|
width: 85;
|
|
model: ["Inf", "5s", "10s", "30s", "60s", "120s"];
|
|
onCurrentIndexChanged: {
|
|
chart.reset();
|
|
|
|
var maxRuntime = 0;
|
|
|
|
switch(currentIndex) {
|
|
case 0: maxRuntime = 0; break;
|
|
case 1: maxRuntime = 5; break;
|
|
case 2: maxRuntime = 10; break;
|
|
case 3: maxRuntime = 30; break;
|
|
case 4: maxRuntime = 60; break;
|
|
case 5: maxRuntime = 120; break;
|
|
}
|
|
|
|
mgmt.maxRuntime = maxRuntime * 1000;
|
|
}
|
|
}
|
|
|
|
Button {
|
|
id: btnTrigger;
|
|
text: "Start";
|
|
height: 60;
|
|
|
|
onClicked: {
|
|
mgmt.trigger();
|
|
}
|
|
}
|
|
|
|
Button {
|
|
text: "Reset";
|
|
height: 60;
|
|
width: 60;
|
|
|
|
onClicked: {
|
|
chart.reset();
|
|
chart.update();
|
|
}
|
|
}
|
|
|
|
CheckBox {
|
|
id: cbLogToDisk;
|
|
text: "Log";
|
|
onClicked: mgmt.logToDisk = checked
|
|
}
|
|
|
|
}
|
|
|
|
Row {
|
|
Layout.row: 1;
|
|
Layout.column: 0;
|
|
spacing: 5;
|
|
|
|
Label {
|
|
id: lblMean;
|
|
}
|
|
|
|
Label {
|
|
id: lblCount;
|
|
}
|
|
|
|
Label {
|
|
id: lblRunTime;
|
|
}
|
|
}
|
|
|
|
HistogramChart {
|
|
Layout.row: 2;
|
|
Layout.column: 0;
|
|
Layout.fillHeight: true;
|
|
Layout.fillWidth: true;
|
|
|
|
id: chart
|
|
objectName: "qmlChart"
|
|
}
|
|
|
|
}
|
|
}
|