def _set_n_var(): ''' ''' n_var, success = self._try_get_val( self.widget['design_unified']['disp_n_var'], 'Number of variables') if not success: return if 'excel' in self.widget['design_unified']: self.widget['design_unified']['excel'].grid_remove() if problem_type == 'continuous': self.widget['design_unified']['excel'] = Excel( master=frame_excel, rows=n_var, columns=3, width=15, title=['Name', 'Lower bound', 'Upper bound'], dtype=[str, float, float], required=[True] * 3) elif problem_type == 'integer': self.widget['design_unified']['excel'] = Excel( master=frame_excel, rows=n_var, columns=3, width=15, title=['Name', 'Lower bound', 'Upper bound'], dtype=[str, int, int], required=[True] * 3) elif problem_type == 'binary': self.widget['design_unified']['excel'] = Excel( master=frame_excel, rows=n_var, columns=1, width=15, title=['Name'], dtype=[str], required=[True]) elif problem_type == 'categorical': self.widget['design_unified']['excel'] = Excel( master=frame_excel, rows=n_var, columns=2, width=15, title=['Name', 'Choices'], dtype=[str, str], required=[True] * 2) else: raise Exception(f'invalid problem type {problem_type}') self.widget['design_unified']['excel'].grid(row=1, column=0) self.widget['design_unified']['excel'].set_column( 0, [f'x{i}' for i in range(1, n_var + 1)]) self.widget['next'].enable()
def __init__(self, root_view, lock): self.root_view = root_view title = 'Lock Entries' if lock else 'Release Entries' self.window = create_widget('toplevel', master=self.root_view.root, title=title) self.widget = {} frame_n_row = create_widget('frame', master=self.window, row=0, column=0, sticky=None, pady=0) self.widget['disp_n_row'] = create_widget('labeled_entry', master=frame_n_row, row=0, column=0, text='Number of rows', class_type='int') self.widget['set_n_row'] = create_widget('button', master=frame_n_row, row=0, column=1, text='Update') self.widget['rowid_excel'] = Excel(master=self.window, rows=1, columns=1, width=10, title=['Row number'], dtype=[int], default=None, required=[True], required_mark=False) self.widget['rowid_excel'].grid(row=1, column=0) frame_action = create_widget('frame', master=self.window, row=2, column=0, sticky=None, pady=0) self.widget['start'] = create_widget( 'button', master=frame_action, row=0, column=0, text='Lock' if lock else 'Release') self.widget['cancel'] = create_widget('button', master=frame_action, row=0, column=1, text='Cancel')
def __init__(self, root_view, n_obj): self.root_view = root_view self.window = create_widget('toplevel', master=self.root_view.root, title='Enter Performance') self.widget = {} frame_n_row = create_widget('frame', master=self.window, row=0, column=0, sticky=None, pady=0) self.widget['disp_n_row'] = create_widget('labeled_entry', master=frame_n_row, row=0, column=0, text='Number of rows', class_type='int') self.widget['set_n_row'] = create_widget('button', master=frame_n_row, row=0, column=1, text='Update') self.widget['performance_excel'] = Excel( master=self.window, rows=1, columns=n_obj + 1, width=10, title=['Row number'] + [f'f{i + 1}' for i in range(n_obj)], dtype=[int] + [float] * n_obj, default=None, required=[True] * (n_obj + 1), required_mark=False) self.widget['performance_excel'].grid(row=1, column=0) frame_action = create_widget('frame', master=self.window, row=2, column=0, sticky=None, pady=0) self.widget['save'] = create_widget('button', master=frame_action, row=0, column=0, text='Save') self.widget['cancel'] = create_widget('button', master=frame_action, row=0, column=1, text='Cancel')
def __init__(self, root_view, problem_cfg): self.root_view = root_view self.window = create_widget('toplevel', master=self.root_view.window, title='Set Reference Point') self.widget = {} frame_ref_point = create_widget('labeled_frame', master=self.window, text='Reference Point', row=0, column=0) frame_excel = create_widget('frame', master=frame_ref_point, row=0, column=0) self.widget['excel'] = Excel(master=frame_excel, rows=problem_cfg['n_obj'], columns=2, width=15, title=['Name', 'Reference Point'], dtype=[str, float]) self.widget['excel'].grid(row=0, column=0) self.widget['excel'].set_column(0, problem_cfg['obj_name']) self.widget['excel'].disable_column(0) frame_action = create_widget('frame', master=self.window, row=1, column=0, padx=0, pady=0, sticky=None) self.widget['save'] = create_widget('button', master=frame_action, text='Save', row=0, column=0) self.widget['cancel'] = create_widget('button', master=frame_action, text='Cancel', row=0, column=1)
def __init__(self, root_view): self.root_view = root_view self.window = create_widget('toplevel', master=self.root_view.root, title='Stop Evaluation') self.widget = {} frame_n_row = create_widget('frame', master=self.window, row=0, column=0, sticky=None, pady=0) self.widget['disp_n_row'] = create_widget('labeled_entry', master=frame_n_row, row=0, column=0, text='Number of rows', class_type='int') self.widget['disp_n_row'].set(1) self.widget['set_n_row'] = create_widget('button', master=frame_n_row, row=0, column=1, text='Update') self.widget['rowid_excel'] = Excel(master=self.window, rows=1, columns=1, width=10, title=['Row number'], dtype=[int], default=None, required=[True]) self.widget['rowid_excel'].grid(row=1, column=0) frame_action = create_widget('frame', master=self.window, row=2, column=0, sticky=None, pady=0) self.widget['stop'] = create_widget('button', master=frame_action, row=0, column=0, text='Stop') self.widget['cancel'] = create_widget('button', master=frame_action, row=0, column=1, text='Cancel')
def _set_n_obj(): ''' ''' n_obj, success = self._try_get_val( self.widget['performance']['disp_n_obj'], 'Number of objectives') if not success: return self.widget['performance']['excel'] = Excel( master=frame_excel, rows=n_obj, columns=3, width=15, title=['Name', 'Type', 'Reference'], dtype=[str, str, float], required=[True, True, False], valid_check=[None, lambda x: x in ['min', 'max'], None]) self.widget['performance']['excel'].grid(row=0, column=0) self.widget['performance']['excel'].set_column( 0, [f'f{i}' for i in range(1, n_obj + 1)]) self.widget['performance']['excel'].set_column(1, ['min'] * n_obj) self.widget['next'].enable()
def __init__(self, root_view, problem_cfg): self.root_view = root_view n_var, var_type = problem_cfg['n_var'], problem_cfg['type'] var_type_map = { 'continuous': float, 'integer': int, 'binary': int, 'categorical': str, 'mixed': object, } if var_type == 'mixed': dtype = [] for var_info in problem_cfg['var'].values(): dtype.append(var_type_map[var_info['type']]) else: dtype = [var_type_map[var_type]] * n_var self.window = create_widget('toplevel', master=self.root_view.root, title='Enter Design Variables') self.widget = {} frame_n_row = create_widget('frame', master=self.window, row=0, column=0, sticky=None, pady=0) self.widget['disp_n_row'] = create_widget('labeled_entry', master=frame_n_row, row=0, column=0, text='Number of rows', class_type='int') self.widget['set_n_row'] = create_widget('button', master=frame_n_row, row=0, column=1, text='Update') self.widget['design_excel'] = Excel(master=self.window, rows=1, columns=n_var, width=10, title=[f'x{i + 1}' for i in range(n_var)], dtype=dtype, required=[True] * n_var, required_mark=False) self.widget['design_excel'].grid(row=1, column=0) self.widget['eval_var'] = create_widget('checkbutton', master=self.window, row=2, column=0, text='Automatically evaluate') frame_action = create_widget('frame', master=self.window, row=3, column=0, sticky=None, pady=0) self.widget['save'] = create_widget('button', master=frame_action, row=0, column=0, text='Save') self.widget['cancel'] = create_widget('button', master=frame_action, row=0, column=1, text='Cancel')