xafsManager/xafs_GUI.py
2019-12-17 18:04:59 +01:00

161 lines
5.2 KiB
Python

"""
@author: Ruidy Nemausat
"""
from EXAFS_Monitor.monitor_gui import MonitorWidget
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from main_gui import MainGui
from functools import partial
class XafsManager(QWidget, MainGui):
"""
Graphical-User Interface for P65 beamline
"""
def __init__(self):
"""
constructor: initializes GUI layout from MainGui class
"""
super().__init__()
self.setupUi(self)
# self.pushButton.clicked.connect(self.listWidget)
# self.connect(
# self.loadLast,
# SIGNAL("clicked()"),
# partial(self.readLast)
# )
# self.connect(
# self.add2list,
# SIGNAL("clicked()"),
# partial(self.make_dict, scanListe)
# )
# self.connect(
# self.start,
# SIGNAL("clicked()"),
# partial(self.startScans)
# )
# self.connect(
# self.clearList,
# SIGNAL("clicked()"),
# partial(self.clearScans, scanListe)
# )
# Defines a single scan and returns the parameter as a dictionary object
# def make_dict(self, scanListe):
# # Collect all the input
# edge_n = str(self.edge_name.text())
# if str(edge_n) == "":
# showMessageBox(self, "Edge Name")
# dsPar = str(self.ds_param.text())
# """if str(dsPar) == "":
# EXAFS_GUI_common.showMessageBox(self,"DS parameter")"""
# edge_e = str(self.edge_energy.text())
# if str(edge_e) == "":
# showMessageBox(self, "Edge energy")
# sam_p = str(self.sam_pos.text())
# if str(sam_p) == "":
# showMessageBox(self, "Sample Position")
# sam_n = str(self.sam_name.text())
# if str(sam_n) == "":
# showMessageBox(self, "Sample Name")
# sam_r = str(self.sam_rep.text())
# if str(sam_r) == "":
# showMessageBox(self, "Number of repetitions")
# motor_n = str(self.motor_number.text())
# if str(motor_n) == "":
# showMessageBox(self, "Motor number")
# # there is always a value, so no check
# keith1 = str(self.keith_1.value())
# keith2 = str(self.keith_2.value())
# keith3 = str(self.keith_3.value())
# keith4 = str(self.keith_4.value())
# cont_s = str(self.cont_start.text())
# if str(cont_s) == "":
# showMessageBox(self, "Energy start")
# if float(cont_s) < 0: # Correct automatically if users insert a negative value
# cont_s = str(float(cont_s) * -1)
# print(cont_s)
# cont_en = str(self.cont_stop.text())
# if str(cont_en) == "":
# showMessageBox(self, "Energy scan end")
# cont_t = str(self.cont_tot_time.text())
# if str(cont_t) == "":
# showMessageBox(self, "Time per scan")
# tpp = str(self.timepp.text())
# if str(tpp) == "":
# showMessageBox(self, "Time per point")
# und_o = str(self.und_off.text())
# if str(und_o) == "":
# showMessageBox(self, "Undulator offset")
# data_d = str(self.data_dir.text())
# if str(data_d) == "":
# showMessageBox(self, "Data directory")
# type_t = self.type_trans.isChecked()
# type_p = self.type_pips.isChecked()
# type_x = self.type_Xia.isChecked()
# which_d = str(self.StorageChooser.currentText())
# ds_1 = self.do_something_1.isChecked()
# ds_2 = self.do_something_2.isChecked()
# # Write the input into a dictionary
# scan_spec = {
# "edge_n": edge_n,
# "dsPar": dsPar,
# "edge_e": edge_e,
# "sam_p": sam_p,
# "sam_n": sam_n,
# "sam_r": sam_r,
# "keith1": keith1,
# "keith2": keith2,
# "keith3": keith3,
# "keith4": keith4,
# "motor_n": motor_n,
# "cont_s": cont_s,
# "cont_en": cont_en,
# "cont_t": cont_t,
# "tpp": tpp,
# "und_o": und_o,
# "data_d": data_d,
# "type_t": type_t,
# "type_p": type_p,
# "type_x": type_x,
# "which_d": which_d,
# "ds_1": ds_1,
# "ds_2": ds_2
# }
# with open(path + '/last_cont_scan.json', 'w') as f3:
# # Use to restore last scan's settings
# json.dump(scan_spec, f3, indent=2)
# scanListe.append(scan_spec)
# print("Make my scan...")
# if os.path.isfile(path + "/ListOfScans.json"):
# os.remove(path + "/ListOfScans.json")
# with open(path + '/ListOfScans.json', 'a') as f1:
# json.dump(scanListe, f1, indent=2)
# print(scanListe)
# return scanListe
def showMessageBox(self, missing):
QMessageBox.information(
self, "Problem!!!", "Missing parameter: " + missing)
def main():
"""
Displays a XafsManager window
"""
app = QApplication(sys.argv)
x = XafsManager()
x.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()