Example #1
0
    def update_ui(self):
        if self.selected_param == ParamEnum.ier.name:
            param = self.params[ParamEnum.ier_i.name]
        else:
            param = self.params[self.selected_param]
        step = param.value_step
        val = self.d_params[param.name]['value']
        if val + step > param.value_max + EPS:
            self.frm_right_arrow.setEnabled(False)
        if val - step > param.value_min - EPS:
            self.frm_left_arrow.setEnabled(True)
        if val - step < param.value_min - EPS:
            self.frm_left_arrow.setEnabled(False)
        if val + step < param.value_max + EPS:
            self.frm_right_arrow.setEnabled(True)

        if self.selected_param == ParamEnum.ier.name:
            param = self.params[ParamEnum.ier_e.name]
            step = param.value_step
            val2 = self.d_params[ParamEnum.ier_e.name]['value']
            if val2 + step > param.value_max + EPS:
                self.frm_right_arrow_2.setEnabled(False)
            if val2 - step > param.value_min - EPS:
                self.frm_left_arrow_2.setEnabled(True)
            if val2 - step < param.value_min - EPS:
                self.frm_left_arrow_2.setEnabled(False)
            if val2 + step < param.value_max + EPS:
                self.frm_right_arrow_2.setEnabled(True)

        for name, param in self.d_params.items():
            # update affected params values
            if param['dependent']:
                param['value'] = Parameter.calculate_param(
                    name, self.d_params, self.params)

            frame_name = "frm_param_" + name
            f = self.findChild(QFrame, name=frame_name)
            if f:
                label = self.get_value_label(f)
                label.setText(
                    f"{param['value']:{self.params[name].value_format}}")

        self.update_ie_times()

        label = self.get_value_label(self.selected_param_frame)
        if self.selected_param == ParamEnum.ier.name:
            ier_i_param = self.params[ParamEnum.ier_i.name]
            ier_e_param = self.params[ParamEnum.ier_e.name]
            val2 = self.d_params[ParamEnum.ier_e.name]['value']
            label.setText(
                f"{val:{ier_i_param.value_format}}:{val2:{ier_e_param.value_format}}"
            )
        else:
            param = self.params[self.selected_param]
            label.setText(f"{val:{param.value_format}}")
Example #2
0
    def update_ui(self):
        val = self.d_params[self.param.name]['value']
        if self.param.name == ParamEnum.ier_e.name:
            val2 = self.d_params[self.param2.name]['value']
            self.lbl_param_value.setText(
                f"{val2:{self.format_i}}:{val:{self.format}}")
            if val2 > self.value_i_max - self.step_i:
                self.btn_up_left.setDisabled(True)
            else:
                self.btn_up_left.setDisabled(False)
            if val2 < self.value_i_min + self.step_i:
                self.btn_down_left.setDisabled(True)
            else:
                self.btn_down_left.setDisabled(False)
        else:
            self.lbl_param_value.setText(f"{val:{self.format}}")

        if val > self.value_max - self.step:
            self.btn_up.setDisabled(True)
        else:
            self.btn_up.setDisabled(False)
        if val < self.value_min + self.step:
            self.btn_down.setDisabled(True)
        else:
            self.btn_down.setDisabled(False)

        if self.affected_params:
            # update affected params values
            for name, param in self.d_params.items():
                # update affected params values
                if param['dependent']:
                    param['value'] = Parameter.calculate_param(
                        name, self.d_params, self.params)

            # show updated values
            for idx, p in enumerate(self.affected_params):
                lbl_value = self.findChild(
                    QLabel, name="lbl_aff_param_value_{}".format(idx + 1))
                lbl_value.setText("{:.2f}".format(
                    self.d_params[p.name]['value']))

        self.update_ie_times()