HLAPipelineCtrl to pipeline widget

This commit is contained in:
2023-08-21 15:43:00 +02:00
parent f70404c773
commit 1f4fe75c73

View File

@@ -24,7 +24,6 @@ from caqtwidgets.pvwidgets import (
from apps4ops.bdbase.enumkind import Facility, MsgSeverity, UserMode
_pymodule = os.path.basename(__file__)
_appversion = "1.0.0"
@@ -100,6 +99,8 @@ class GUIFrame(QWidget):
self.radiobutton = None
self.multiple_figure_dict = None
self.pipeline_group_box = None
self.line_sender_dict = {}
self.radio_stack_dict = {}
self.stack_radiolist_dict = {}
@@ -133,7 +134,6 @@ class GUIFrame(QWidget):
self.results_layout_2 = QHBoxLayout(self.results_wgt_2)
self.results_tab_wgt_2 = QTabWidget(self.results_wgt_2)
self.slicing_group = QGroupBox("Screen: Slicing")
self.good_region_group = QGroupBox("Good Region")
@@ -156,7 +156,8 @@ class GUIFrame(QWidget):
"GUI"]["subResultsTabTitle"]
self.sub_results_wgt = [None] * len(self.results_tab_wgt_titles)
self.sub_results_layout = [None] * len(self.results_tab_wgt_titles)
self.sub_results_layout = [None] * len(
self.results_tab_wgt_titles)
for i in range(0, len(self.results_tab_wgt_titles)):
self.sub_results_wgt[i] = QWidget(self.results_tab_wgt)
@@ -164,7 +165,8 @@ class GUIFrame(QWidget):
self.canvas = [None] * len(self.results_tab_wgt_titles)
self.nav = [None] * len(self.results_tab_wgt_titles)
self.arrow_button_widget = [None] * len(self.results_tab_wgt_titles)
self.arrow_button_widget = [None] * len(
self.results_tab_wgt_titles)
self.canvas_current_idx = [0] * len(self.results_tab_wgt_titles)
@@ -177,8 +179,10 @@ class GUIFrame(QWidget):
self.results_tab_wgt_titles_2 = self.settings.data[
"GUI2"]["subResultsTabTitle"]
self.sub_results_wgt_2 = [None] * len(self.results_tab_wgt_titles_2)
self.sub_results_layout_2 = [None] * len(self.results_tab_wgt_titles_2)
self.sub_results_wgt_2 = [None] * len(
self.results_tab_wgt_titles_2)
self.sub_results_layout_2 = [None] * len(
self.results_tab_wgt_titles_2)
for i in range(0, len(self.results_tab_wgt_titles_2)):
self.sub_results_wgt_2[i] = QWidget() #self.results_tab_wgt_2)
@@ -186,8 +190,10 @@ class GUIFrame(QWidget):
self.canvas_2 = [None] * len(self.results_tab_wgt_titles_2)
self.nav_2 = [None] * len(self.results_tab_wgt_titles_2)
self.arrow_button_widget_2 = [None] * len(self.results_tab_wgt_titles_2)
self.canvas_current_idx_2 = [0] * len(self.results_tab_wgt_titles_2)
self.arrow_button_widget_2 = [None] * len(
self.results_tab_wgt_titles_2)
self.canvas_current_idx_2 = [0] * len(
self.results_tab_wgt_titles_2)
self.init_results_tab_wgt_2()
@@ -642,6 +648,10 @@ class GUIFrame(QWidget):
#print(self.input_parameters)
if key == "goodRegion":
self.good_region_group.setEnabled(value)
checkbox = QCheckBox(text)
checkbox.setToolTip(tip)
@@ -1034,7 +1044,8 @@ class GUIFrame(QWidget):
def image_parameters_group(self):
group_box = QGroupBox("Image Pipeline Expert")
self.pipeline_group_box = QGroupBox("Image Pipeline Expert")
box = QHBoxLayout()
box.setSpacing(10)
@@ -1044,6 +1055,7 @@ class GUIFrame(QWidget):
start_val_gr = Qt.Checked if start_val_gr else Qt.Unchecked
except KeyError as ex:
start_val_gr = Qt.Unchecked
box.addWidget(self.create_checkbox(
top_key="Expert", key="goodRegion", text="Good region",
tip="Enables good region in pipeline", default_value=start_val_gr))
@@ -1060,8 +1072,8 @@ class GUIFrame(QWidget):
tip="Enables background subtraction in pipeline",
default_value=start_val_sub))
group_box.setAlignment(Qt.AlignCenter)
group_box.setObjectName("INNERCENTER")
self.pipeline_group_box.setAlignment(Qt.AlignCenter)
self.pipeline_group_box.setObjectName("INNERCENTER")
self.good_region_group.setObjectName("INNER")
@@ -1131,16 +1143,28 @@ class GUIFrame(QWidget):
self.slicing_group.setLayout(layout)
layout_top = QGridLayout()
layout_top.addLayout(box, 0, 0, 1, 2)
layout_top.addWidget(self.good_region_group, 1, 0, 1, 1,
#layout_top.addWidget(self.create_checkbox(
# top_key="Expert", key="pipelineCtrl",
# text="Enable pipeline control from HLA",
# tip="HLA to set pipeline parameters",
# default_value=0), 0, 0, 1, 2)
layout_top.addLayout(box, 1, 0, 1, 2)
layout_top.addWidget(self.good_region_group, 2, 0, 1, 1,
Qt.AlignHCenter | Qt.AlignTop)
layout_top.addWidget(self.slicing_group, 1, 1, 1, 1,
layout_top.addWidget(self.slicing_group, 2, 1, 1, 1,
Qt.AlignCenter | Qt.AlignTop)
layout_top.setHorizontalSpacing(8)
group_box.setLayout(layout_top)
group_box.setFixedHeight(200)
return group_box
self.pipeline_group_box.setLayout(layout_top)
self.pipeline_group_box.setFixedHeight(200)
if "HLAPipelineCtrl" in self.parent.input_parameters:
self.pipeline_group_box.setEnabled(
self.parent.input_parameters["HLAPipelineCtrl"])
return self.pipeline_group_box
@@ -1150,6 +1174,7 @@ class GUIFrame(QWidget):
hline="NONE"):
def on_change(state):
self.input_parameters[key] = bool(state)
widget = QWidget()
layout = QGridLayout()
@@ -1671,6 +1696,7 @@ class GUIFrame(QWidget):
def check_cb(new_value):
sender= self.sender()
self.parent.input_parameters[sender.title][sender.key] = new_value
def line_cb(new_value):
sender= self.sender()
@@ -2282,10 +2308,17 @@ class GUIFrame(QWidget):
def input_wgt_qcheckbox(self, key, value, label_text, irow, wgt_grid):
def check_cb(new_value):
self.parent.input_parameters[key] = bool(new_value)
print("check_cbp", key, new_value, flush=True)
if key == "HLAPipelineCtrl":
if self.pipeline_group_box is not None:
self.pipeline_group_box.setEnabled(bool(new_value))
line = QCheckBox(label_text)
line.setChecked(Qt.Checked if value else Qt.Unchecked)
line.stateChanged.connect(check_cb)
#line.toggled.connect(check_cb)
line.setChecked(Qt.Checked if value else Qt.Unchecked)
line.setMaximumWidth(320)
line.setMinimumWidth(100)
line.setFixedHeight(28)
@@ -2320,8 +2353,8 @@ class GUIFrame(QWidget):
wgt_grid.addWidget(line, a, b, c, d, Qt.AlignLeft | Qt.AlignVCenter)
#line.stateChanged.emit(Qt.Checked if value else Qt.Unchecked)
return line
def input_wgt_qlabel(self, value, irow, wgt_grid):