ControlPanel.qml Example File
qmloscilloscope/qml/qmloscilloscope/ControlPanel.qml
import QtQuick 2.1
import QtQuick.Layouts 1.0
ColumnLayout {
property alias openGLButton: openGLButton
property alias antialiasButton: antialiasButton
spacing: 8
Layout.fillHeight: true
signal animationsEnabled(bool enabled)
signal seriesTypeChanged(string type)
signal refreshRateChanged(variant rate);
signal signalSourceChanged(string source, int signalCount, int sampleCount);
signal antialiasingEnabled(bool enabled)
signal openGlChanged(bool enabled)
Text {
text: "Scope"
font.pointSize: 18
color: "white"
}
MultiButton {
id: openGLButton
text: "OpenGL: "
items: ["false", "true"]
currentSelection: 1
onSelectionChanged: openGlChanged(currentSelection == 1);
}
MultiButton {
text: "Graph: "
items: ["line", "scatter"]
currentSelection: 0
onSelectionChanged: seriesTypeChanged(items[currentSelection]);
}
MultiButton {
id: signalSourceButton
text: "Source: "
items: ["sin", "linear"]
currentSelection: 0
onSelectionChanged: signalSourceChanged(
selection,
5,
sampleCountButton.items[sampleCountButton.currentSelection]);
}
MultiButton {
id: sampleCountButton
text: "Samples: "
items: ["6", "128", "1024", "10000"]
currentSelection: 2
onSelectionChanged: signalSourceChanged(
signalSourceButton.items[signalSourceButton.currentSelection],
5,
selection);
}
MultiButton {
text: "Refresh rate: "
items: ["1", "24", "60"]
currentSelection: 2
onSelectionChanged: refreshRateChanged(items[currentSelection]);
}
MultiButton {
id: antialiasButton
text: "Antialias: "
items: ["OFF", "ON"]
enabled: true
currentSelection: 0
onSelectionChanged: antialiasingEnabled(currentSelection == 1);
}
}