def on_graphic(self, event): if event.GetString() != L('PARALLEL_COORDINATES') or not self.mode_run: self.b_highligh.Disable() return self.b_highligh.Enable()
def __init__(self, parent): wx.Panel.__init__(self, parent) self.SetBackgroundColour('#DCE5EE') pub().subscribe(self.update_language, T.LANGUAGE_CHANGED) self.control_panel = None self.dframes = [] self.order_names = [] self.key_figure = 1 self.mode_run = False self.current_dataframes = None self.current_datacolors = None self.run_explorer = False self.figure_config_dialog_ref = None # ---- inicialización de figura self.fig = Figure() self.canvas = FigureCanvas(self, -1, self.fig) # ---- configuración de figura self.fig_config = FigureConfig() self.set_figure_config() # ---- configuración de axe self.ax_conf = AxesConfig() # ---- radar chard config self.radar_chard_con = RadarChadConfig() # ---- toolbar self.sizer_tool = wx.BoxSizer(wx.HORIZONTAL) _bitmap = play_fig.GetBitmap() self.b_play = wx.BitmapButton(self, -1, _bitmap, style=wx.NO_BORDER) self.sizer_tool.Add(self.b_play, flag=wx.ALIGN_CENTER_VERTICAL) self.b_play.Bind(wx.EVT_BUTTON, self.on_play) self.b_play.SetToolTipString(L('VISUALIZE_DATE_CLUSTER')) _bitmap = settings_fig.GetBitmap() self.b_setting = wx.BitmapButton(self, -1, _bitmap, style=wx.NO_BORDER) self.sizer_tool.Add(self.b_setting, flag=wx.ALIGN_CENTER_VERTICAL) self.b_setting.Bind(wx.EVT_BUTTON, self.on_config) self.b_setting.SetToolTipString(L('FIGURE_CONF')) _bitmap = sort_and_filter.GetBitmap() self.b_sorted = wx.BitmapButton(self, -1, _bitmap, style=wx.NO_BORDER) self.b_sorted.Bind(wx.EVT_BUTTON, self.on_sort_and_filter) self.b_sorted.SetToolTipString(L('BUTTON_ORDER_AND_FILTER')) self.b_sorted.Disable() self.sizer_tool.Add(self.b_sorted, 0, wx.ALIGN_CENTER_VERTICAL) _bp = line_highligh.GetBitmap() self.b_highligh = wx.BitmapButton(self, -1, _bp, style=wx.NO_BORDER) self.b_highligh.Bind(wx.EVT_BUTTON, self.on_highligh) self.b_highligh.SetToolTipString(L('BUTTON_HIGHLIGHT')) self.b_highligh.Disable() self.sizer_tool.Add(self.b_highligh, 0, wx.ALIGN_CENTER_VERTICAL) self.toolbar = Toolbar(self.canvas) self.toolbar.Realize() self.toolbar.SetBackgroundColour('#DCE5EE') self.sizer_tool.Add(self.toolbar, 0, wx.ALIGN_CENTER_VERTICAL) choice_grafic = self.get_choice_grafic() self.sizer_tool.Add(choice_grafic, wx.ALIGN_LEFT) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.sizer_tool, 0, wx.EXPAND) self.sizer.Add(self.canvas, 1, wx.EXPAND) self.SetSizer(self.sizer) self.Fit() self._welcome()
def update_language(self, message): self.SetTitle(L('CLUSTER_FILTER')) self.ok_button.SetLabel(L('OK')) self.cancel_button.SetLabel(L('CANCEL')) self.sbox_fc.SetLabel(L('FILTER_CONFIG')) self.nb.SetPageText(0, L('REPRESENTATIVITY_IN_QUANTITY')) self.nb.SetPageText(1, L('REPRESENTATIVITY_VALUES_OBJECTIVES')) self.sbox_sf.SetLabel(L('MORE_REPRESENTATIVE_CLUSTER')) self.lbl.SetLabel(L('SET_THE_AMOUNT')) self.sbox_sf1.SetLabel(L('LESS_REPRESENTATIVE_CLUSTER')) self.lb1_label.SetLabel(L('HIGHER_VALUES')) self.lb2_label.SetLabel(L('SMALLER_VALUES'))
def get_item_list(self): return [L('PARALLEL_COORDINATES'), 'Radar Chart']
def __init__(self, parent, key_message, key_ico=K_ICON_INFORMATION, key_button=K_OK): self.parent = parent if key_message == KMSG_EMPTY_DATA_SELECTED: self.h_msg = L('H_EMPTY_DATA_SELECTED') self.m_msg = L('EMPTY_DATA_SELECTED') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_EMPTY_CLUSTER_DATA: self.h_msg = L('H_EMPTY_CLUSTER_DATA') self.m_msg = L('EMPTY_CLUSTER_DATA') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_EMPTY_CLUSTER_SELECTED: self.h_msg = L('H_EMPTY_CLUSTER_SELECTED') self.m_msg = L('EMPTY_CLUSTER_SELECTED') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_EMPTY_DATA_GENERATE_CLUSTER: self.h_msg = L('H_EMPTY_DATA_GENERATE_CLUSTER') self.m_msg = L('EMPTY_EMPTY_DATA_GENERATE_CLUSTER') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_GENERATE_CLUSTER: self.h_msg = L('H_GENERATE_CLUSTER') self.m_msg = L('EMPTY_GENERATE_CLUSTER') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_EMPTY_NUMBER_KMEANS: self.h_msg = L('H_EMPTY_NUMBER_KMEANS') self.m_msg = L('EMPTY_NUMBER_KMEANS') self.k_ico = key_ico self.k_but = key_button elif key_message == KMSG_INVALID_NUM_CLUSTERS: self.h_msg = L('H_INVALID_NUM_CLUSTERS') self.m_msg = L('INVALID_NUM_CLUSTERS') self.k_ico = key_ico self.k_but = key_button else: self.h_msg = 'Defaul' self.m_msg = 'Defaul' self.k_ico = key_ico self.k_but = key_button
def update_language(self, message): self.sbox_ax.SetLabel(L('DISPLAY_SELECTED')) self.radio1.SetLabel(L('ALL_IN_SAME_FIGURE')) self.radio2.SetLabel(L('ALL_IN_DIFFERENT_FIGURES')) self.radio3.SetLabel(L('A_FIGURE_FOR_EACH_CLUSTER_AND_SUMMARY')) self.r4.SetLabel(L('CLUSTERS_IN_A_FIGURE_AND_SUMMARIES_IN_ANOTHER')) self.sbox_lg.SetLabel(L('DISPLAY_SELECTED')) self.nb.SetPageText(1, L('SUMMARY')) self.checkbox1.SetLabel(L('SHOW_PERCENTAGE_OF_OBSERVATIONS')) self.checkbox2.SetLabel(L('SHOW_AMOUNT_OF_OBSERVATIONS')) self.checkbox3.SetLabel(L('SHOW_NAME')) self.checkbox4.SetLabel(L('SHOW_SHAPES')) self.chkbox1.SetLabel(L('SHOW_PERCENTAGE_OF_OBSERVATIONS')) self.chkbox2.SetLabel(L('SHOW_AMOUNT_OF_OBSERVATIONS')) self.chkbox3.SetLabel(L('SHOW_NAME')) self.chkbox4.SetLabel(L('SHOW_SHAPES'))
def update_language(self, msg): self._checked_all.SetLabel(L('SELECT_ALL')) self._checked_header.SetLabel(L('CHECK_HEADER_CLUSTER')) self.Layout()
def update_language(self, msg): self.sbox_rc.SetLabel(L('RC_CONF1_HEADER')) self.t_label.SetLabel(L('RC_CONF1_STYLE_G')) self.ch_type.SetToolTipString(L('RC_CONF1_STYLE_GTS')) self.chk_fill.SetLabel(L('RC_CONF1_FILL'))
def update_language(self, msg): self.sbox_spf.SetLabel(L('EDGES')) self.top_label.SetLabel(L('TOP')) self.clr_top_sp.SetLabel(L('CHOOSE_A_COLOR')) self.clr_top_sp.Refresh() self.bottom_label.SetLabel(L('BOTTOM')) self.clr_bottom_sp.SetLabel(L('CHOOSE_A_COLOR')) self.clr_bottom_sp.Refresh() self.left_label.SetLabel(L('LEFT')) self.clr_left_sp.SetLabel(L('CHOOSE_A_COLOR')) self.clr_left_sp.Refresh() self.right_label.SetLabel(L('RIGHT')) self.clr_right_sp.SetLabel(L('CHOOSE_A_COLOR')) self.clr_right_sp.Refresh() self.sbox_lglc.SetLabel(L('LEGEND')) self.chk_show_lg.SetLabel(L('SHOW_LEGEND')) self.loc_label.SetLabel(L('LOCATION')) self.highlight_label.SetLabel(L('SELECT_COLOR_HIGHLIGHT')) self.sbox_grid.SetLabel(L('GRID')) self.ch.SetLabel(L('SHOW_GRID')) self.cho_label.SetLabel(L('TYPE')) self.cho.SetToolTipString(L('SELECT_TYPE_OF_GRID')) self.g_linewidth_label.SetLabel(L('WIDTH')) self.g_color_label.SetLabel(L('COLOR')) self.g_color_alpha_label.SetLabel(L('COLOR_ALPHA')) self.sbox_xy.SetLabel(L('AXES_VALUES')) self.x_ch.SetLabel(L('IN_X')) self.x_label_color.SetLabel(L('COLOR_X')) self.y_ch.SetLabel(L('IN_Y')) self.y_label_color.SetLabel(L('COLOR_Y'))
def update_language(self, msg): self.SetTitle(L('GRAPHIC_CONFIG')) self.nb.SetPageText(0, L('FIGURE')) self.nb.SetPageText(1, L('AXES')) self.ok_button.SetLabel(L('OK')) self.cancel_button.SetLabel(L('CANCEL'))
def add_res(self, project, path_files, t_format, sep, dlg=None): results = [] parse_correct = [] parse_error = [] result_names = [] for r in project.results: result_names.append(r.name) # ---- verificar nombres repetidos for _p in path_files: if _p[1] in result_names: _l = 'El proyecto ya contiene mismo nombre de archivos' ParserError(_p[1], _l, 0) path_files.remove(_p) if FORMAT_TAVA == t_format: files_von_parsed = [] # parsear archivos _all = len(path_files) for i, p in enumerate(path_files): m_lit = '\t' + L('MSG_PRO_FORMATER') m_num = ': ' + str(i + 1) + '/' + str(_all) m_tit = m_lit + m_num keepGoing = dlg.UpdatePulse(m_tit) try: vtot = VonToTavaParser(p[0], self.dir_parser) file_parsed = vtot.make_preparsing(m_tit, dlg) except PreParserError as preherror: parse_error.append(preherror) else: files_von_parsed.append(file_parsed) # crear resultdos a partir de archivos preparseados for i, tava_file in enumerate(files_von_parsed): m_lit = '\t' + L('MSG_PRO_PARSER') m_num = ': ' + str(i + 1) + '/' + str(_all) m_tit = m_lit + m_num keepGoing = dlg.UpdatePulse(m_tit) try: tfr = TavaFileToResult(tava_file) tfr.make_parsing(m_tit, dlg) except ParserError as parseerror: parse_error.append(parseerror) else: try: m_lit = '\t' + L('MSG_PRO_SAVE') m_tit = m_lit + m_num keepGoing = dlg.UpdatePulse(m_tit) # agrega a la base de datos tfr.result.project_id = project.id _iterations = list(tfr.result.iterations) result = tfr.result result.iterations = [] result = ResultModel().add(result) _ite_all = len(_iterations) for ii, ite in enumerate(_iterations): m_lit_b = '\n' + L('MSG_PRO_DATA_SAVE') m_num_b = ': ' + str(ii + 1) + '/' + str(_ite_all) m_tit_b = m_tit + m_lit_b + m_num_b keepGoing = dlg.UpdatePulse(m_tit_b) result.iterations.append(ite) result = ResultModel().update_init(result) if not keepGoing: dlg.UpdatePulse('Aborting') return results except Exception as e: p_e = ParserError(tava_file, "Error Exception: {0}".format(e), None) parse_error.append(p_e) else: results.append(result) parse_correct.append(object) elif FORMAT_OBJETIVE == t_format: _all = len(path_files) for i, p in enumerate(path_files): try: m_lit = '\t' + L('MSG_PRO_PARSER') m_num = ': ' + str(i + 1) + '/' + str(_all) m_tit = m_lit + m_num keepGoing = dlg.UpdatePulse(m_tit) tfr = SepFileToResult(p[0]) tfr.make_parsing(m_tit, sep, dlg) except ParserError as parseerror: parse_error.append(parseerror) else: m_lit = '\t' + L('MSG_PRO_SAVE') m_tit = m_lit + m_num keepGoing = dlg.UpdatePulse(m_tit) # agrega a la base de datos tfr.result.project_id = project.id _iterations = list(tfr.result.iterations) result = tfr.result result.iterations = [] result = ResultModel().add(result) _ite_all = len(_iterations) for ii, ite in enumerate(_iterations): m_lit_b = '\n' + L('MSG_PRO_DATA_SAVE') m_num_b = ': ' + str(ii + 1) + '/' + str(_ite_all) m_tit_b = m_tit + m_lit_b + m_num_b keepGoing = dlg.UpdatePulse(m_tit_b) result.iterations.append(ite) result = ResultModel().update_init(result) if not keepGoing: dlg.UpdatePulse('Aborting') return results results.append(result) parse_correct.append(object) elif 10 == t_format: # crear resultdos a partir de archivos preparseados for tava_file in path_files: try: tfr = TavaFileToResult(tava_file) tfr.make_parsing() except ParserError as parseerror: parse_error.append(parseerror) else: try: # agrega a la base de datos tfr.result.project_id = project.id result = ResultModel().add(tfr.result) except Exception as e: p_e = ParserError(tava_file, "Error Exception: {0}".format(e), None) parse_error.append(p_e) else: results.append(result) parse_correct.append(object) return results, parse_error