0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 11:41:49 +02:00

feat: BECDeviceMonitor modular class which can be used to replace placeholder in .ui file.

This commit is contained in:
wyzula-jan
2023-10-12 15:30:53 +02:00
parent 75af0404b3
commit f3f55a7ee0
3 changed files with 353 additions and 82 deletions

View File

@ -458,14 +458,12 @@ class PlotApp(QWidget):
f"Scan name not found in metadata. Please check the scan_name in the YAML config or in bec "
f"configuration."
)
return
self.plot_data = self.plot_data_config.get(currentName, [])
if self.plot_data == []:
raise ValueError(
f"Scan name {currentName} not found in the YAML config. Please check the scan_name in the "
f"YAML config or in bec configuration."
)
return
# Init UI
self.init_ui(self.plot_settings["num_columns"])

View File

@ -3,6 +3,72 @@ from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout
from bec_widgets.widgets.device_monitor import BECDeviceMonitor
config_1 = {
"plot_settings": {
"background_color": "black",
"num_columns": 1,
"colormap": "plasma",
"scan_types": False,
},
"plot_data": [
{
"plot_name": "BPM4i plots vs samx",
"x": {
"label": "Motor Y",
"signals": [{"name": "samx", "entry": "samx"}],
},
"y": {
"label": "bpm4i",
"signals": [{"name": "bpm4i", "entry": "bpm4i"}],
},
},
{
"plot_name": "Gauss plots vs samx",
"x": {
"label": "Motor X",
"signals": [{"name": "samx", "entry": "samx"}],
},
"y": {
"label": "Gauss",
"signals": [{"name": "gauss_bpm", "entry": "gauss_bpm"}],
},
},
],
}
config_2 = {
"plot_settings": {
"background_color": "black",
"num_columns": 2,
"colormap": "plasma",
"scan_types": False,
},
"plot_data": [
{
"plot_name": "BPM4i plots vs samx",
"x": {
"label": "Motor Y",
"signals": [{"name": "samx", "entry": "samx"}],
},
"y": {
"label": "bpm4i",
"signals": [{"name": "samy", "entry": "samy"}],
},
},
{
"plot_name": "Gauss plots vs samx",
"x": {
"label": "Motor X",
"signals": [{"name": "samx", "entry": "samx"}],
},
"y": {
"label": "Gauss ADC",
"signals": [{"name": "gauss_adc1", "entry": "gauss_adc1"}],
},
},
],
}
class ModularApp(QMainWindow):
def __init__(self, client=None, parent=None):
@ -19,8 +85,12 @@ class ModularApp(QMainWindow):
def _init_plots(self):
self.glw_1_layout = QVBoxLayout(self.glw_1) # Create a new QVBoxLayout
self.bec_device_monitor = BECDeviceMonitor(parent=self)
self.glw_1_layout.addWidget(self.bec_device_monitor) # Add BECDeviceMonitor to the layout
self.bec_device_monitor_1 = BECDeviceMonitor(parent=self, config=config_1)
self.glw_1_layout.addWidget(self.bec_device_monitor_1) # Add BECDeviceMonitor to the layout
self.glw_2_layout = QVBoxLayout(self.glw_2) # Create a new QVBoxLayout
self.bec_device_monitor_2 = BECDeviceMonitor(parent=self, config=config_2)
self.glw_2_layout.addWidget(self.bec_device_monitor_2) # Add BECDeviceMonitor to the layout
if __name__ == "__main__":