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; } } } 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"]; 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" } } }