示例#1
0
 def save_experiment(self):
     self.experiment.n_cycles = self.entry_of_options['Nº de ciclos'].get()
     self.experiment.final_hold = \
         self.entry_of_options['Temperatura Final'].get()
     self.experiment.steps.clear()
     for widget in self.step_widgets_data:
         self.experiment.steps.append(widget.get_step())
     fc.save_pickle_file(std.EXP_PATH, fc.experiments)
     print(self.experiment)
示例#2
0
    def save_experiment(self):
        self.experiment.n_cycles = self.entry_of_options['Nº de ciclos'].get()
        self.experiment.final_hold = \
            self.entry_of_options['Temperatura Final'].get()
        self.experiment.steps = []
        for step in ('Desnaturação', 'Anelamento', 'Extensão'):
            self.experiment.add_step(
                step, self.entry_of_options[f'{step} Temperatura'].get(),
                self.entry_of_options[f'{step} Tempo'].get())

        fc.save_pickle_file(std.EXP_PATH, fc.experiments)
示例#3
0
    def close_window(self):
        """Função para sobrescrever o protocolo padrão ao fechar a janela.

        O programa salva todos os experimentos em arquivo externo e depois
        destrói a janela principal encerrando o programa.
        """
        fc.save_pickle_file(std.EXP_PATH, fc.experiments)
        if cetus_device.is_connected:
            cetus_device.is_connected = False
            cetus_device.serial_device.close()
            print('Closing serial port.')
        self.master.destroy()
示例#4
0
 def handle_delete_button(self):
     index = self.experiment_combo.current()
     experiment = fc.experiments[index]
     if index >= 0:
         delete = messagebox. \
             askyesnocancel('Deletar experimento',
                            'Você tem certeza que deseja '
                            f'excluir "{experiment.name}"?\n'
                            'Essa ação não pode ser desfeita.')
         if delete:
             fc.experiments.remove(experiment)
             fc.save_pickle_file(std.EXP_PATH, fc.experiments)
             self.show_experiments()
             self.experiment_combo.delete(0, 'end')
示例#5
0
    def handle_new_button(self):
        name = fc.ask_string('Novo Experimento', 'Digite o nome do'
                                                 ' experimento:',
                             parent=self.master)

        if name != '' and name is not None:
            new_experiment = fc.ExperimentPCR(name)
            fc.experiments.append(new_experiment)
            fc.save_pickle_file(std.EXP_PATH, fc.experiments)
            index_exp = fc.experiments.index(new_experiment)
            self.show_experiments()
            self.master.switch_frame(ExperimentWindow, index_exp)

        elif name is '':
            messagebox.showerror('Novo Experimento', 'O nome não pode estar'
                                                     ' vazio')