def utilidades(self): menu = QTVarios.LCMenu(self) submenu = menu.submenu(_("Analysis"), Iconos.Analizar()) submenu.opcion(self.ta_massive, _("Mass analysis"), Iconos.Analizar()) submenu.separador() submenu.opcion(self.ta_remove, _("Delete all previous analysis"), Iconos.Delete()) menu.separador() lihistory = self.dbop.lihistory() if lihistory: submenu = menu.submenu(_("Backups"), Iconos.Copiar()) rondo = QTVarios.rondoPuntos() for history in lihistory[:30]: h = history if len(h) > 70: h = h[:70] + "..." submenu.opcion(history, h, rondo.otro()) submenu.separador() # submenu = menu.submenu(_("History of this session"), Iconos.Copiar()) resp = menu.lanza() if resp: if isinstance(resp, (str, unicode)): if QTUtil2.pregunta( self, _("Are you sure you want to restore backup %s ?" % ("\n%s" % resp))): um = QTUtil2.unMomento(self, _("Working...")) self.dbop.rechistory(resp) self.glines.refresh() self.glines.gotop() um.final() else: resp()
def utilidades(self): menu = QTVarios.LCMenu(self) submenu = menu.submenu(_("Analysis"), Iconos.Analizar()) submenu.opcion(self.ta_massive, _("Mass analysis"), Iconos.Analizar()) submenu.separador() submenu.opcion(self.ta_remove, _("Delete all previous analysis"), Iconos.Delete()) menu.separador() resp = menu.lanza() if resp: resp()
def menuAnalizar(self, fenM2, menu, siShowMoves): liAnalisis, nActivo = self.dbAnalisis.lista(fenM2) # Si tiene ya analisis, lo pedimos o nuevo if liAnalisis: if menu is None: submenu = QTVarios.LCMenu(self.pantalla) else: submenu = menu.submenu(_("Analyze"), Iconos.Analizar()) if nActivo is not None: submenu.opcion("an_use_%d" % nActivo, liAnalisis[nActivo].rotulo, Iconos.Seleccionado(), siDeshabilitado=True) submenu.separador() for n, mrm in enumerate(liAnalisis): if n != nActivo: submenu.opcion("an_use_%d" % n, mrm.rotulo, Iconos.PuntoAzul()) submenu.separador() submenu.opcion("an_new", _("New analysis"), Iconos.Mas()) submenu.separador() if self.dbAnalisis.activo(fenM2) is not None: submenu.opcion("an_hide", _("Hide analysis"), Iconos.Ocultar()) submenu.separador() if siShowMoves: submenu.opcion("an_show", _("Show moves"), Iconos.Pelicula()) submenu.separador() menu1 = submenu.submenu(_("Remove"), Iconos.Delete()) for n, mrm in enumerate(liAnalisis): menu1.opcion("an_rem_%d" % n, mrm.rotulo, Iconos.PuntoRojo()) menu1.separador() if menu is None: return submenu.lanza() else: if menu is None: return "an_new" else: menu.opcion("an_new", _("Analyze"), Iconos.Analizar())
def __init__(self, manager, xengine, nombreOP, position, mrm, rmOP, rmUsu, analysis, is_competitive=None): self.is_competitive = manager.is_competitive if is_competitive is None else is_competitive self.nombreOP = nombreOP self.position = position self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analysis = analysis self.siAnalisisCambiado = False self.xengine = xengine self.manager = manager self.list_rm, self.posOP = self.do_lirm() titulo = _("Analysis") icono = Iconos.Analizar() extparam = "jzgm" QTVarios.WDialogo.__init__(self, manager.main_window, titulo, icono, extparam) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) self.lbComentario = Controles.LB(self, "").ponTipoLetra(puntos=10).align_center() config_board = manager.configuration.config_board("JUICIO", 32) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(position.is_white) self.lbMotor = Controles.LB(self).align_center() self.lbTiempo = Controles.LB(self).align_center() liMas = ((_("Close"), "close", Iconos.AceptarPeque()),) lyBM, tbBM = QTVarios.lyBotonesMovimiento( self, "", siLibre=False, icon_size=24, siMas=manager.continueTt, liMasAcciones=liMas ) o_columns = Columnas.ListaColumnas() o_columns.nueva("POSREAL", "#", 40, centered=True) o_columns.nueva("JUGADAS", "%d %s" % (len(self.list_rm), _("Moves")), 120, centered=True) o_columns.nueva("PLAYER", _("Player"), 120) self.grid = Grid.Grid(self, o_columns, siSelecFilas=True) lyT = Colocacion.V().control(self.board).otro(lyBM).control(self.lbComentario) # Layout layout = Colocacion.H().otro(lyT).control(self.grid) self.setLayout(layout) self.grid.setFocus() self.grid.goto(self.posOP, 0) self.is_moving_time = False self.ponPuntos()
def __init__(self, gestor, xmotor, nombreOP, posicion, mrm, rmOP, rmUsu, analisis, siCompetitivo=None): self.siCompetitivo = gestor.siCompetitivo if siCompetitivo is None else siCompetitivo self.nombreOP = nombreOP self.posicion = posicion self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analisis = analisis self.siAnalisisCambiado = False self.xmotor = xmotor self.gestor = gestor self.listaRM, self.posOP = self.hazListaRM() self.posicion = posicion titulo = _("Analysis") icono = Iconos.Analizar() extparam = "jzgm" QTVarios.WDialogo.__init__(self, gestor.pantalla, titulo, icono, extparam) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) self.lbComentario = Controles.LB(self, "").ponTipoLetra(puntos=10).alinCentrado() confTablero = gestor.configuracion.confTablero("JUICIO", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(posicion.siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() liMas = ((_("Close"), "close", Iconos.AceptarPeque()),) lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24, siMas=gestor.continueTt, liMasAcciones=liMas) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("POSREAL", "#", 40, siCentrado=True) oColumnas.nueva("JUGADAS", "%d %s" % (len(self.listaRM), _("Moves")), 120, siCentrado=True) oColumnas.nueva("PLAYER", _("Player"), 120) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True) lyT = Colocacion.V().control(self.tablero).otro(lyBM).control(self.lbComentario) # Layout layout = Colocacion.H().otro(lyT).control(self.grid) self.setLayout(layout) self.grid.setFocus() self.grid.goto(self.posOP, 0) self.siMoviendoTiempo = False self.ponPuntos()
def tw_utilities(self): menu = QTVarios.LCMenu(self) menu.opcion(self.tw_massive_analysis, _("Mass analysis"), Iconos.Analizar()) menu.separador() menu.opcion(self.tw_polyglot, _("Create a polyglot book"), Iconos.Book()) menu.separador() menu.opcion(self.tw_pack, _("Pack database"), Iconos.Pack()) resp = menu.lanza() if resp: resp()
def tw_utilities(self): menu = QTVarios.LCMenu(self) ico = Iconos.PuntoAzul() menu1 = menu.submenu(_("Polyglot book"), ico) menu1.opcion(self.tw_uti_pcreate, _("Create a new book"), ico) menu1.separador() menu1.opcion(self.tw_uti_pmerge, _("Merge two books in one"), ico) menu.separador() menu.opcion(self.tw_massive_change_tags, _("Massive change of tags"), Iconos.PGN()) menu.separador() menu.opcion(self.tw_massive, _("Mass analysis"), Iconos.Analizar()) menu.separador() menu.opcion(self.tw_play_against, _("Play against a game"), Iconos.Law()) resp = menu.lanza() if resp: resp()
def __init__(self, owner, procesador): QtWidgets.QWidget.__init__(self) self.owner = owner # Tree self.tree = TreeMoves(owner, procesador) # ToolBar self.tb = Controles.TBrutina(self, with_text=False, icon_size=24) self.tb.new(_("Open new branch"), Iconos.Mas(), self.rama) self.tb.new(_("Show") + "/" + _("Hide"), Iconos.Mostrar(), self.mostrar) self.tb.new(_("Rating"), self.tree.iconoValoracion(3), self.valorar) self.tb.new(_("Analyze"), Iconos.Analizar(), self.analizar) self.tb.new(_("Comments"), Iconos.ComentarioEditar(), self.comment) layout = Colocacion.V().control(self.tb).control(self.tree).margen(1) self.setLayout(layout)
def ta_massive(self): dicVar = self.configuracion.leeVariables("MASSIVE_OLINES") liGen = [FormLayout.separador] config = FormLayout.Combobox( _("Engine"), self.configuracion.comboMotoresMultiPV10(4)) liGen.append((config, dicVar.get("ENGINE", self.configuracion.tutor))) liGen.append( (_("Duration of engine analysis (secs)") + ":", dicVar.get("SEGUNDOS", float(self.configuracion.tiempoTutor / 1000.0)))) liDepths = [("--", 0)] for x in range(1, 51): liDepths.append((str(x), x)) config = FormLayout.Combobox(_("Depth"), liDepths) liGen.append((config, dicVar.get("DEPTH", self.configuracion.depthTutor))) li = [(_("Maximum"), 0)] for x in (1, 3, 5, 10, 15, 20, 30, 40, 50, 75, 100, 150, 200): li.append((str(x), x)) config = FormLayout.Combobox( _("Number of moves evaluated by engine(MultiPV)"), li) liGen.append( (config, dicVar.get("MULTIPV", self.configuracion.tutorMultiPV))) liGen.append(FormLayout.separador) liGen.append( (_("Redo any existing prior analyses (if they exist)") + ":", dicVar.get("REDO", False))) resultado = FormLayout.fedit(liGen, title=_("Mass analysis"), parent=self, anchoMinimo=460, icon=Iconos.Analizar()) if resultado is None: return claveMotor, tiempo, depth, multiPV, redo = resultado[1] ms = int(tiempo * 1000) if ms == 0 and depth == 0: return dicVar["ENGINE"] = claveMotor dicVar["SEGUNDOS"] = tiempo dicVar["DEPTH"] = depth dicVar["MULTIPV"] = multiPV dicVar["REDO"] = redo self.configuracion.escVariables("MASSIVE_OLINES", dicVar) um = QTUtil2.unMomento(self) stFensM2 = self.dbop.getAllFen() if redo == False: liBorrar = [] for fenM2 in stFensM2: dic = self.dbop.getfenvalue(fenM2) if "ANALISIS" in dic: liBorrar.append(fenM2) for fenM2 in liBorrar: stFensM2.remove(fenM2) conf_engine = copy.deepcopy(self.configuracion.buscaMotor(claveMotor)) conf_engine.actMultiPV(multiPV) xgestor = self.procesador.creaGestorMotor(conf_engine, ms, depth, True) um.final() mensaje = _("Move") + " %d/" + str(len(stFensM2)) tmpBP = QTUtil2.BarraProgreso(self, _("Mass analysis"), "", len(stFensM2)) done = 0 for n, fenM2 in enumerate(stFensM2, 1): if tmpBP.siCancelado(): break tmpBP.inc() tmpBP.mensaje(mensaje % n) mrm = xgestor.analiza(fenM2 + " 0 1") dic = self.dbop.getfenvalue(fenM2) dic["ANALISIS"] = mrm self.dbop.setfenvalue(fenM2, dic) done += 1 tmpBP.cerrar()
def procesarAccion(self, clave): if clave == k_mainmenu: self.finPartida() elif clave in (k_reiniciar, k_siguiente): self.reiniciar() elif clave == k_peliculaRepetir: self.dbop.setconfig("ENG_ENGINE", self.numengine) self.reiniciar() elif clave == k_abandonar: self.ponFinJuego() elif clave == k_configurar: self.configurar(siSonidos=True) elif clave == k_utilidades: liMasOpciones = [] liMasOpciones.append( ("libros", _("Consult a book"), Iconos.Libros())) liMasOpciones.append((None, None, None)) liMasOpciones.append((None, _("Options"), Iconos.Opciones())) mens = _("cancel") if self.auto_analysis else _("activate") liMasOpciones.append( ("auto_analysis", "%s: %s" % (_("Automatic analysis"), mens), Iconos.Analizar())) liMasOpciones.append((None, None, None)) mens = _("cancel") if self.ask_movesdifferent else _("activate") liMasOpciones.append( ("ask_movesdifferent", "%s: %s" % (_("Ask when the moves are different from the line"), mens), Iconos.Pelicula_Seguir())) liMasOpciones.append((None, None, True)) # Para salir del submenu liMasOpciones.append((None, None, None)) liMasOpciones.append( ("run_analysis", _("Specific analysis"), Iconos.Analizar())) liMasOpciones.append((None, None, None)) liMasOpciones.append( ("add_line", _("Add this line"), Iconos.OpeningLines())) resp = self.utilidades(liMasOpciones) if resp == "libros": self.librosConsulta(False) elif resp == "add_line": numJugadas, nj, fila, siBlancas = self.jugadaActual() partida = self.partida if numJugadas != nj + 1: menu = QTVarios.LCMenu(self.pantalla) menu.opcion("all", _("Add all moves"), Iconos.PuntoAzul()) menu.separador() menu.opcion("parcial", _("Add until current move"), Iconos.PuntoVerde()) resp = menu.lanza() if resp is None: return if resp == "parcial": partida = self.partida.copia(nj) self.dbop.append(partida) self.dbop.updateTrainingEngines() QTUtil2.mensaje(self.pantalla, _("Done")) elif resp == "auto_analysis": self.auto_analysis = not self.auto_analysis self.trainingEngines["AUTO_ANALYSIS"] = self.auto_analysis self.dbop.setTrainingEngines(self.trainingEngines) elif resp == "ask_movesdifferent": self.ask_movesdifferent = not self.ask_movesdifferent self.trainingEngines[ "ASK_MOVESDIFFERENT"] = self.ask_movesdifferent self.dbop.setTrainingEngines(self.trainingEngines) elif resp == "run_analysis": self.um = None self.mensEspera() self.run_auto_analysis() self.mensEspera(siFinal=True) else: Gestor.Gestor.rutinaAccionDef(self, clave)
def __init__(self, procesador, winBookGuide, dbGames, siMoves=True): QtGui.QWidget.__init__(self) self.winBookGuide = winBookGuide self.dbGames = dbGames # <--setdbGames self.bookGuide = winBookGuide.bookGuide self.infoMove = None # <-- setInfoMove self.wmoves = None # <-- setwmoves self.fenM2 = None self.liMoves = [] self.analisisMRM = None self.siMoves = siMoves self.procesador = procesador self.configuracion = procesador.configuracion self.leeConfig() self.aperturasStd = AperturasStd.ListaAperturasStd( self.configuracion, False, False) self.siFigurinesPGN = self.configuracion.figurinesPGN self.pvBase = "" self.orden = ["games", False] self.lbName = Controles.LB( self, "").ponWrap().alinCentrado().ponColorFondoN( "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16) if not siMoves: self.lbName.hide() # Grid oColumnas = Columnas.ListaColumnas() oColumnas.nueva("numero", _("N."), 35, siCentrado=True) self.delegadoMove = Delegados.EtiquetaPGN( True if self.siFigurinesPGN else None) oColumnas.nueva("move", _("Move"), 60, edicion=self.delegadoMove) dicTipos = { "t": Iconos.pmTransposition(), } oColumnas.nueva("trans", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True) oColumnas.nueva("games", _("Games"), 70, siDerecha=True) oColumnas.nueva("pgames", "% " + _("Games"), 70, siDerecha=True, siCentrado=True) oColumnas.nueva("win", _("Win"), 70, siDerecha=True) oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True) oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True) oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True) oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True) oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True) self.grid = Grid.Grid(self, oColumnas, xid="summary", siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuracion.puntosPGN) self.grid.ponAltoFila(self.configuracion.altoFilaPGN) # ToolBar liAcciones = [ (_("Close"), Iconos.MainMenu(), winBookGuide.terminar), None, (_("Start position"), Iconos.Inicio(), self.inicio), None, (_("Previous"), Iconos.AnteriorF(), self.anterior), (_("Next"), Iconos.SiguienteF(), self.siguiente), None, (_("Analyze"), Iconos.Analizar(), self.analizar), None, (_("Rebuild"), Iconos.Reindexar(), self.reindexar), None, (_("Config"), Iconos.Configurar(), self.config), None, ] if siMoves: liAcciones.append( (_("Create a new guide based in these games") if siMoves else _("Create"), Iconos.BookGuide(), self.createGuide)) liAcciones.append(None) self.tb = Controles.TBrutina(self, liAcciones, tamIcon=20, siTexto=not self.siMoves) if self.siMoves: self.tb.vertical() layout = Colocacion.V().control(self.lbName) if not self.siMoves: layout.control(self.tb) layout.control(self.grid) if self.siMoves: layout = Colocacion.H().control(self.tb).otro(layout) layout.margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217)) self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
def run_action(self, key): if key == TB_CLOSE: self.end_game() elif key in (TB_REINIT, TB_NEXT): self.reiniciar() elif key == TB_REPEAT: self.dbop.setconfig("ENG_ENGINE", self.numengine) self.reiniciar() elif key == TB_RESIGN: self.ponFinJuego() elif key == TB_CONFIG: self.configurar(siSonidos=True) elif key == TB_UTILITIES: liMasOpciones = [] liMasOpciones.append( ("books", _("Consult a book"), Iconos.Libros())) liMasOpciones.append((None, None, None)) liMasOpciones.append((None, _("Options"), Iconos.Opciones())) mens = _("cancel") if self.auto_analysis else _("activate") liMasOpciones.append( ("auto_analysis", "%s: %s" % (_("Automatic analysis"), mens), Iconos.Analizar())) liMasOpciones.append((None, None, None)) mens = _("cancel") if self.ask_movesdifferent else _("activate") liMasOpciones.append(( "ask_movesdifferent", "%s: %s" % (_("Ask when the moves are different from the line"), mens), Iconos.Pelicula_Seguir(), )) liMasOpciones.append((None, None, True)) # Para salir del submenu liMasOpciones.append((None, None, None)) liMasOpciones.append( ("run_analysis", _("Specific analysis"), Iconos.Analizar())) liMasOpciones.append((None, None, None)) liMasOpciones.append( ("add_line", _("Add this line"), Iconos.OpeningLines())) resp = self.utilidades(liMasOpciones) if resp == "books": self.librosConsulta(False) elif resp == "add_line": num_moves, nj, row, is_white = self.jugadaActual() game = self.game if num_moves != nj + 1: menu = QTVarios.LCMenu(self.main_window) menu.opcion("all", _("Add all moves"), Iconos.PuntoAzul()) menu.separador() menu.opcion("parcial", _("Add until current move"), Iconos.PuntoVerde()) resp = menu.lanza() if resp is None: return if resp == "parcial": game = self.game.copia(nj) self.dbop.append(game) self.dbop.updateTrainingEngines() QTUtil2.message_bold(self.main_window, _("Done")) elif resp == "auto_analysis": self.auto_analysis = not self.auto_analysis self.trainingEngines["AUTO_ANALYSIS"] = self.auto_analysis self.dbop.setTrainingEngines(self.trainingEngines) elif resp == "ask_movesdifferent": self.ask_movesdifferent = not self.ask_movesdifferent self.trainingEngines[ "ASK_MOVESDIFFERENT"] = self.ask_movesdifferent self.dbop.setTrainingEngines(self.trainingEngines) elif resp == "run_analysis": self.um = None self.mensEspera() self.run_auto_analysis() self.mensEspera(siFinal=True) else: Manager.Manager.rutinaAccionDef(self, key)
def __init__(self, procesador, wb_database, dbGames, siMoves=True): QtWidgets.QWidget.__init__(self) self.wb_database = wb_database self.dbGames = dbGames # <--setdbGames self.infoMove = None # <-- setInfoMove self.wmoves = None # <-- setwmoves self.liMoves = [] self.siMoves = siMoves self.procesador = procesador self.configuration = procesador.configuration self.wdb_analysis = WDB_Analysis.WDBAnalisis(self) self.leeConfig() self.aperturasStd = OpeningsStd.ap self.si_figurines_pgn = self.configuration.x_pgn_withfigurines self.pvBase = "" self.orden = ["games", False] self.lbName = ( Controles.LB(self, "") .set_wrap() .align_center() .set_foreground_backgound("white", "#4E5A65") .ponTipoLetra(puntos=10 if siMoves else 16) ) if not siMoves: self.lbName.hide() # Grid o_columns = Columnas.ListaColumnas() o_columns.nueva("number", _("N."), 35, centered=True) self.delegadoMove = Delegados.EtiquetaPGN(True if self.si_figurines_pgn else None) o_columns.nueva("move", _("Move"), 60, edicion=self.delegadoMove) o_columns.nueva("analysis", _("Analysis"), 60, siDerecha=True) o_columns.nueva("games", _("Games"), 70, siDerecha=True) o_columns.nueva("pgames", "% " + _("Games"), 70, siDerecha=True) o_columns.nueva("win", _("Win"), 70, siDerecha=True) o_columns.nueva("draw", _("Draw"), 70, siDerecha=True) o_columns.nueva("lost", _("Lost"), 70, siDerecha=True) o_columns.nueva("pwin", "% " + _("Win"), 60, siDerecha=True) o_columns.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True) o_columns.nueva("plost", "% " + _("Lost"), 60, siDerecha=True) o_columns.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True) o_columns.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True) self.grid = Grid.Grid(self, o_columns, xid="summary", siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuration.x_pgn_fontpoints) self.grid.ponAltoFila(self.configuration.x_pgn_rowheight) # ToolBar li_acciones = [ (_("Start position"), Iconos.Inicio(), self.start), None, (_("Previous"), Iconos.AnteriorF(), self.anterior), (_("Next"), Iconos.SiguienteF(), self.siguiente), None, (_("Analyze"), Iconos.Analizar(), self.analizar), None, (_("Rebuild"), Iconos.Reindexar(), self.reindexar), None, (_("Config"), Iconos.Configurar(), self.config), None, ] self.tb = QTVarios.LCTB(self, li_acciones, icon_size=20, with_text=not self.siMoves) if self.siMoves: self.tb.vertical() layout = Colocacion.V().control(self.lbName) if not self.siMoves: layout.control(self.tb) layout.control(self.grid) if self.siMoves: layout = Colocacion.H().control(self.tb).otro(layout) layout.margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217)) self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
def __init__(self, procesador, winBookGuide, dbGames, siMoves=True): QtGui.QWidget.__init__(self) self.winBookGuide = winBookGuide self.dbGames = dbGames # <--setdbGames self.bookGuide = winBookGuide.bookGuide self.infoMove = None # <-- setInfoMove self.wmoves = None # <-- setwmoves self.fenM2 = None self.liMoves = [] self.analisisMRM = None self.siMoves = siMoves self.procesador = procesador self.pvBase = "" self.orden = ["games", False] self.lbName = Controles.LB( self, "").ponWrap().alinCentrado().ponColorFondoN( "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16) if not siMoves: self.lbName.hide() # Grid oColumnas = Columnas.ListaColumnas() oColumnas.nueva("move", _("Move"), 60) oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True) oColumnas.nueva("games", _("Games"), 70, siDerecha=True) oColumnas.nueva("pgames", "% " + _("Games"), 70, siDerecha=True, siCentrado=True) oColumnas.nueva("win", _("Win"), 70, siDerecha=True) oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True) oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True) oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True) oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True) oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True) self.grid = Grid.Grid(self, oColumnas, id="summary", siSelecFilas=True) # ToolBar liAcciones = [ (_("Previous"), Iconos.AnteriorF(), "anterior"), (_("Next"), Iconos.SiguienteF(), "siguiente"), None, (_("Analyze"), Iconos.Analizar(), "analizar"), None, (_("Rebuild"), Iconos.Reindexar(), "reindexar"), None, (_("Summary filtering by player") if siMoves else _("By player"), Iconos.Player(), "reindexarPlayer"), None, ] if siMoves: liAcciones.append( (_("Create a new guide based in these games") if siMoves else _("Create"), Iconos.BookGuide(), "create")) liAcciones.append(None) self.tb = Controles.TB(self, liAcciones, tamIcon=20, siTexto=not self.siMoves) if self.siMoves: self.tb.vertical() layout = Colocacion.V().control(self.lbName) if not self.siMoves: layout.control(self.tb) layout.control(self.grid) if self.siMoves: layout = Colocacion.H().control(self.tb).otro(layout) layout.margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217))