Pressure monitor strip tool widget

This commit is contained in:
x09lb
2026-08-14 16:04:19 +02:00
parent 11c1a5075f
commit 23ef9c1c6f
5 changed files with 1288 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
{'files': ['pressure_monitor.py']}
@@ -0,0 +1,62 @@
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
from qtpy.QtWidgets import QWidget
from bec_widgets.utils.bec_designer import designer_material_icon
# NOTE: Qt Designer imports this file as a top-level script, so the import below must be
# absolute. Replace `my_beamline_plugin` with the package name of your BEC plugin repo.
from xil_bec.bec_widgets.widgets.pressure_monitor.pressure_monitor import (
PressureMonitor,
)
DOM_XML = """
<ui language='c++'>
<widget class='PressureMonitor' name='pressure_monitor'>
</widget>
</ui>
"""
class PressureMonitorPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
def __init__(self):
super().__init__()
self._form_editor = None
def createWidget(self, parent):
if parent is None:
return QWidget()
t = PressureMonitor(parent)
return t
def domXml(self):
return DOM_XML
def group(self):
return "BEC Plots"
def icon(self):
return designer_material_icon(PressureMonitor.ICON_NAME)
def includeFile(self):
return "pressure_monitor"
def initialize(self, form_editor):
self._form_editor = form_editor
def isContainer(self):
return False
def isInitialized(self):
return self._form_editor is not None
def name(self):
return "PressureMonitor"
def toolTip(self):
return "Rolling time-window monitor for pressure gauges and other BEC signals"
def whatsThis(self):
return self.toolTip()
@@ -0,0 +1,18 @@
def main(): # pragma: no cover
from qtpy import PYSIDE6
if not PYSIDE6:
print("PYSIDE6 is not available in the environment. Cannot patch designer.")
return
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
# NOTE: replace `my_beamline_plugin` with the package name of your BEC plugin repo.
from xil_bec.bec_widgets.widgets.pressure_monitor.pressure_monitor_plugin import (
PressureMonitorPlugin,
)
QPyDesignerCustomWidgetCollection.addCustomWidget(PressureMonitorPlugin())
if __name__ == "__main__": # pragma: no cover
main()