# -*- coding: utf-8 -*- from Model.Study import Study from View.ASubWindow import ASubWindow from PyQt5.QtWidgets import ( QRadioButton, QLabel, QDateTimeEdit, ) class NewStudyWindow(ASubWindow): def __init__(self, study=None, title="New Study", parent=None): super(NewStudyWindow, self).__init__(name=title, ui="NewStudy", parent=parent) self.ui.setWindowTitle(title) self.parent = parent self.study = study if not self.study is None: self.set_line_edit_text("lineEdit_name", self.study.name) self.set_text_edit_text("textEdit_description", self.study.description) self.set_datetime_edit("dateTimeEdit_date", self.study.date) if self.study.time_system == "date": self.set_radio_button("radioButton_date", True) self.find(QLabel, "label_date").setEnabled(True) self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True) self.connection() def connection(self): time = self.find(QRadioButton, "radioButton_time") date = self.find(QRadioButton, "radioButton_date") time.toggled.connect(self.set_time) date.toggled.connect(self.set_date) def set_time(self): if self.get_radio_button("radioButton_time"): self.find(QLabel, "label_date").setEnabled(False) self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(False) def set_date(self): if self.get_radio_button("radioButton_date"): self.find(QLabel, "label_date").setEnabled(True) self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True) def accept(self): name = self.get_line_edit_text("lineEdit_name") description = self.get_text_edit_text("textEdit_description") if self.study is None: study = Study.new(name, description) if self.get_radio_button("radioButton_date"): date = self.get_datetime_edit("dateTimeEdit_date") study.use_date(date) self.parent.set_model(study) else: self.study.name = name self.study.description = description if self.get_radio_button("radioButton_date"): date = self.get_datetime_edit("dateTimeEdit_date") self.study.use_date(date) else: self.study.use_time() self.done(True)