Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fcca4f08d4 | |||
| ce700a0c14 | |||
| ac9d3b3e22 | |||
| fd212a441d |
53
base.py
53
base.py
@@ -565,7 +565,13 @@ class BaseWindow(QMainWindow):
|
||||
from pyqtacc.sls.sendelogsls import QSendToELOG
|
||||
elif self.facility == Facility.HIPA:
|
||||
from pyqtacc.hipa.guiheader import GUIHeader
|
||||
from pyqtacc.hipa.sendeloghipa import QSendToELOG
|
||||
from pyqtacc.hipa.sendeloghipa import QSendToELOG
|
||||
elif self.facility == Facility.PROSCAN:
|
||||
from pyqtacc.proscan.guiheader import GUIHeader
|
||||
from pyqtacc.proscan.sendelogproscan import QSendToELOG
|
||||
elif self.facility == Facility.ESS:
|
||||
from pyqtacc.ess.guiheader import GUIHeader
|
||||
from pyqtacc.ess.sendelogess import QSendToELOG
|
||||
|
||||
self.gui_header = GUIHeader(self, user_mode=self.user_mode,
|
||||
extended=extended)
|
||||
@@ -791,10 +797,16 @@ class BaseWindow(QMainWindow):
|
||||
#_qsize = exit_toolbar.iconSize()
|
||||
#print("qsize", _qsize)
|
||||
true_list = [self.autopost_epics, self.autopost_hdf, self.autopost_elog]
|
||||
exit_toolbar.setIconSize(QSize(true_list.count(True)*30+10, 24))
|
||||
#exit_toolbar.setIconSize(_qsize)
|
||||
self.add_actions(exit_toolbar, (save_all_action, "Space", None, "Space",
|
||||
quit_action))
|
||||
|
||||
if true_list.count(True) > 1:
|
||||
exit_toolbar.setIconSize(QSize(true_list.count(True)*30+10, 24))
|
||||
#exit_toolbar.setIconSize(_qsize)
|
||||
self.add_actions(exit_toolbar, (
|
||||
save_all_action, "Space", None, "Space", quit_action))
|
||||
else:
|
||||
self.add_actions(exit_toolbar, (quit_action,))
|
||||
|
||||
|
||||
|
||||
|
||||
def combine_save_icons(self): #epics=False, hdf=False, elog=False):
|
||||
@@ -1999,6 +2011,12 @@ class BaseWindow(QMainWindow):
|
||||
elif facility == Facility.HIPA:
|
||||
from pyqtacc.qrc_resources.facility.hipa.pyrcc5 import qrc_resources
|
||||
print("FACILITY HIPA")
|
||||
elif facility == Facility.PROSCAN:
|
||||
from pyqtacc.qrc_resources.facility.proscan.pyrcc5 import qrc_resources
|
||||
print("FACILITY PROSCAN")
|
||||
elif facility == Facility.ESS:
|
||||
from pyqtacc.qrc_resources.facility.ess.pyrcc5 import qrc_resources
|
||||
print("FACILITY ESS")
|
||||
else:
|
||||
print("Unknown Facility; assuming SLS")
|
||||
from pyqtacc.qrc_resources.facility.sls.pyrcc5 import qrc_resources
|
||||
@@ -2139,10 +2157,21 @@ class BaseWindow(QMainWindow):
|
||||
operation: str = "channel access",
|
||||
pv_list: list = None, status_list: list = None,
|
||||
line: int = _line()):
|
||||
|
||||
if None in (pv_list, status_list):
|
||||
|
||||
if pv_list is None:
|
||||
return
|
||||
|
||||
check_stat = False
|
||||
if status_list is None:
|
||||
check_stat = True
|
||||
elif None in status_list:
|
||||
check_stat = True
|
||||
if check_stat:
|
||||
for i, (pv, stat) in enumerate(zip(pv_list, status_list)):
|
||||
if stat is None:
|
||||
status_list[i] = self.cafe.getStatus(pv)
|
||||
|
||||
|
||||
brk = ("------------------------------------------------------" +
|
||||
"------------------------------------------------------")
|
||||
self.trigger_log_message.emit(
|
||||
@@ -2151,7 +2180,7 @@ class BaseWindow(QMainWindow):
|
||||
options = {}
|
||||
|
||||
for i, (pv, stat) in enumerate(zip(pv_list, status_list)):
|
||||
if stat == self.cyca.ICAFE_NORMAL:
|
||||
if stat != self.cyca.ICAFE_NORMAL:
|
||||
mess = "Error in '{0}' for element [{1}], {2}.".format(
|
||||
operation, i, pv)
|
||||
options['statusCode'] = (
|
||||
@@ -2170,14 +2199,18 @@ class BaseWindow(QMainWindow):
|
||||
self.trigger_log_message.emit(
|
||||
MsgSeverity.INFO.name, pymodule, line, mess, {})
|
||||
|
||||
return status_list
|
||||
|
||||
|
||||
def check_status(self, pymodule: str = _pymodule,
|
||||
operation: str = "channel access",
|
||||
pv: str = None, stat: int = None,
|
||||
line: int =_line()):
|
||||
|
||||
if None in (pv, status):
|
||||
if not pv:
|
||||
return
|
||||
if stat == None:
|
||||
stat = self.cafe.getStatus(pv)
|
||||
|
||||
if stat != self.cyca.ICAFE_NORMAL:
|
||||
mess = "Error in '{0}' for {1}.".format(operation, pv)
|
||||
@@ -2188,3 +2221,5 @@ class BaseWindow(QMainWindow):
|
||||
options['statusInfo'] = self.cafe.getStatusInfo(stat)
|
||||
self.trigger_log_message.emit(
|
||||
MsgSeverity.WARN.name, pymodule, line, mess, options)
|
||||
|
||||
return stat
|
||||
|
||||
@@ -19,6 +19,8 @@ class Facility(IntEnum):
|
||||
SwissFEL = 1
|
||||
SLS = 2
|
||||
HIPA = 3
|
||||
PROSCAN = 4
|
||||
ESS = 5
|
||||
|
||||
class MsgSeverity(IntEnum):
|
||||
""" For use with message logger
|
||||
|
||||
44
guiframe.py
44
guiframe.py
@@ -127,13 +127,22 @@ class GUIFrame(QWidget):
|
||||
self.expert_wgt = QWidget(self.measurement_tab_wgt)
|
||||
|
||||
self.results_wgt = QWidget()
|
||||
self.results_layout = QHBoxLayout(self.results_wgt)
|
||||
self.results_tab_wgt = QTabWidget(self.results_wgt)
|
||||
if "GUI" in self.settings.data:
|
||||
self.results_layout = QHBoxLayout(self.results_wgt)
|
||||
self.results_tab_wgt = QTabWidget(self.results_wgt)
|
||||
else:
|
||||
self.results_layout = QGridLayout()
|
||||
self.results_tab_wgt = QTabWidget()
|
||||
|
||||
self.results_wgt_2 = QWidget()
|
||||
self.results_layout_2 = QHBoxLayout(self.results_wgt_2)
|
||||
self.results_tab_wgt_2 = QTabWidget(self.results_wgt_2)
|
||||
|
||||
|
||||
if "GUI2" in self.settings.data:
|
||||
self.results_layout_2 = QHBoxLayout(self.results_wgt_2)
|
||||
self.results_tab_wgt_2 = QTabWidget(self.results_wgt_2)
|
||||
else:
|
||||
self.results_layout_2 = QGridLayout()
|
||||
self.results_tab_wgt_2 = QTabWidget()
|
||||
|
||||
self.slicing_group = QGroupBox("Screen: Slicing")
|
||||
self.good_region_group = QGroupBox("Good Region")
|
||||
|
||||
@@ -403,6 +412,9 @@ class GUIFrame(QWidget):
|
||||
if "GUI" in self.settings.data:
|
||||
self.central_tab_widget.addTab(
|
||||
self.results_wgt, self.settings.data["GUI"]["resultsTabTitle"])
|
||||
elif "IOC" in self.settings.data:
|
||||
self.central_tab_widget.addTab(
|
||||
self.results_wgt, self.settings.data["IOC"]["resultsTabTitle"])
|
||||
self.central_tab_widget.addTab(self.log_wgt, "Log")
|
||||
|
||||
def init_measurement_tab_wgt(self):
|
||||
@@ -416,7 +428,7 @@ class GUIFrame(QWidget):
|
||||
def init_results_tab_wgt(self):
|
||||
""" Add canvas tabs for plots/results
|
||||
"""
|
||||
|
||||
|
||||
self.results_tab_wgt.setFont(self.font_gui)
|
||||
|
||||
for i, (wgt, subtitle) in enumerate(zip(self.sub_results_wgt,
|
||||
@@ -1268,15 +1280,13 @@ class GUIFrame(QWidget):
|
||||
print("KeyError in guiframe.py; def checkbox_simulation:", error)
|
||||
text = "Simulation"
|
||||
|
||||
checkbox = QCheckBox(text)
|
||||
checkbox.setObjectName("Simulation")
|
||||
checkbox.setToolTip(
|
||||
self.simulation_checkbox = QCheckBox(text)
|
||||
self.simulation_checkbox.setObjectName("Simulation")
|
||||
self.simulation_checkbox.setToolTip(
|
||||
"Dry-run only; does not write to EPICS Process Variables")
|
||||
checkbox.setFont(self.font_gui)
|
||||
#checkbox.setStyleSheet(
|
||||
#"QCheckBox::indicator::checked {width=85px; height: 85px;};")
|
||||
|
||||
checkbox.stateChanged.connect(on_change)
|
||||
self.simulation_checkbox.setFont(self.font_gui)
|
||||
|
||||
self.simulation_checkbox.stateChanged.connect(on_change)
|
||||
|
||||
checked_value = Qt.Unchecked
|
||||
if "simulation" in self.parent.input_parameters.keys():
|
||||
@@ -1287,9 +1297,9 @@ class GUIFrame(QWidget):
|
||||
"value"]:
|
||||
checked_value = Qt.Checked
|
||||
|
||||
checkbox.setCheckState(checked_value)
|
||||
self.simulation_checkbox.setCheckState(checked_value)
|
||||
|
||||
layout.addWidget(checkbox, row_wgt, 0)
|
||||
layout.addWidget(self.simulation_checkbox, row_wgt, 0)
|
||||
layout.addWidget(QFrame(), row_wgt, 1, 1, 2)
|
||||
if hline == "BOTTOM":
|
||||
layout.addWidget(QHLine(), row_wgt+1, 0, 1, 3)
|
||||
@@ -3099,3 +3109,5 @@ class GUIFrame(QWidget):
|
||||
self.table_tab_wgt.currentChanged.emit(0)
|
||||
|
||||
return self.table_layout #tab_wgt
|
||||
|
||||
|
||||
|
||||
32
setup_version
Normal file
32
setup_version
Normal file
@@ -0,0 +1,32 @@
|
||||
#to be executed from top directory
|
||||
#create a directory with version number given below.
|
||||
mkdir -p v1.7.0
|
||||
cd v1.7.0
|
||||
mkdir -p apps4ops
|
||||
mkdir -p caqtwidgets
|
||||
mkdir -p common
|
||||
ln -s apps4ops pyqtacc
|
||||
cd apps4ops
|
||||
mkdir -p bdbase
|
||||
mkdir -p qrc_resources
|
||||
mkdir -p sf
|
||||
mkdir -p sls
|
||||
mkdir -p hipa
|
||||
cd bdbase
|
||||
git clone git@gitlab.psi.ch:pyqtacc/bdbase.git .
|
||||
cd ../qrc_resources
|
||||
git clone git@gitlab.psi.ch:pyqtacc/qrc_resources.git .
|
||||
cd ../sf
|
||||
git clone git@gitlab.psi.ch:pyqtacc/sf.git .
|
||||
cd ../sls
|
||||
git clone git@gitlab.psi.ch:pyqtacc/sls.git .
|
||||
cd ../hipa
|
||||
git clone git@gitlab.psi.ch:pyqtacc/hipa.git .
|
||||
cd ../../
|
||||
mkdir -p common
|
||||
cd common
|
||||
git clone git@gitlab.psi.ch:pyqtacc/common.git .
|
||||
cd ../
|
||||
cd caqtwidgets
|
||||
git clone git@gitlab.psi.ch:cafe/caqtwidgets.git .
|
||||
cd ../../
|
||||
12
utils.py
12
utils.py
@@ -10,3 +10,15 @@ def _line():
|
||||
int: Current line number.
|
||||
"""
|
||||
return currentframe().f_back.f_lineno
|
||||
|
||||
|
||||
def line_no():
|
||||
"""Macro to return the current line number.
|
||||
|
||||
The current line number within the file is used when
|
||||
reporting messages to the message logging window.
|
||||
|
||||
Returns:
|
||||
int: Current line number.
|
||||
"""
|
||||
return currentframe().f_back.f_lineno
|
||||
|
||||
Reference in New Issue
Block a user