def preparaColoresPGN(self): self.colorMateNegativo = QTUtil.qtColorRGB(0, 0, 0) self.colorMatePositivo = QTUtil.qtColorRGB(159, 0, 159) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorPositivo = QTUtil.qtColorRGB(0, 0, 255) self.colorBlanco = QTUtil.qtColorRGB(255, 255, 255)
def __init__(self, w_parent, li_gm): self.li_gm = li_gm titulo = _("Import") icono = Iconos.ImportarGM() self.qtColor = {"w": QTUtil.qtColorRGB(221, 255, 221), "m": QTUtil.qtColorRGB(247, 247, 247)} extparam = "imp_gm" QTVarios.WDialogo.__init__(self, w_parent, titulo, icono, extparam) li_acciones = [(_("Import"), Iconos.Aceptar(), self.importar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Mark"), Iconos.Marcar(), self.marcar), None] tb = Controles.TBrutina(self, li_acciones) # Lista o_columns = Columnas.ListaColumnas() o_columns.nueva("ELEGIDO", "", 22, siChecked=True) o_columns.nueva("NOMBRE", _("Grandmaster"), 140) o_columns.nueva("PARTIDAS", _("Games"), 60, siDerecha=True) o_columns.nueva("BORN", _("Birth date"), 60, centered=True) self.grid = Grid.Grid(self, o_columns) n = self.grid.anchoColumnas() self.grid.setMinimumWidth(n + 20) self.register_grid(self.grid) # Layout layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout) self.last_order = "NOMBRE", False self.restore_video(anchoDefecto=n + 26)
def __init__(self, owner, um): super(WMuestra, self).__init__(owner) self.um = um self.owner = owner self.time_engine = um.time_engine() self.time_label = um.time_label() self.tablero = owner.tablero self.lbMotorM = Controles.LB( self, self.time_engine).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.lbTiempoM = Controles.LB( self, self.time_label).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.dicFonts = {True: "blue", False: "grey"} self.btCancelar = Controles.PB(self, "", self.cancelar).ponIcono(Iconos.X()) self.lbPuntuacion = owner.lbPuntuacion self.lbMotor = owner.lbMotor self.lbTiempo = owner.lbTiempo self.lbPGN = owner.lbPGN self.list_rm_name = um.list_rm_name # rm, name, centipawns self.siTiempoActivo = False self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) o_columns = Columnas.ListaColumnas() self.si_figurines_pgn = Code.configuracion.x_pgn_withfigurines o_columns.nueva( "JUGADAS", "%d %s" % (len(self.list_rm_name), _("Moves")), 120, centered=True, edicion=Delegados.EtiquetaPGN( um.move.is_white() if self.si_figurines_pgn else None), ) self.wrm = Grid.Grid(self, o_columns, siLineas=False) self.wrm.tipoLetra(puntos=Code.configuracion.x_pgn_fontpoints) nAncho = self.wrm.anchoColumnas() + 20 self.wrm.setFixedWidth(nAncho) self.wrm.goto(self.um.pos_selected, 0) # Layout ly2 = Colocacion.H().relleno().control( self.lbTiempoM).relleno().control(self.btCancelar) layout = Colocacion.V().control(self.lbMotorM).otro(ly2).control( self.wrm) self.setLayout(layout) self.wrm.setFocus()
def __init__(self, procesador, dbSTAT): QtGui.QWidget.__init__(self) self.dbSTAT = dbSTAT self.liMoves = [] self.procesador = procesador self.configuracion = procesador.configuracion self.siFigurinesPGN = self.configuracion.figurinesPGN self.orden = ["games", False] # 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", "", 28, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) 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="summarybase", siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuracion.puntosPGN) self.grid.ponAltoFila(self.configuracion.altoFilaPGN) layout = Colocacion.V() layout.control(self.grid) 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, 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, owner, um): super(WMuestra, self).__init__(owner) self.um = um self.owner = owner self.etiquetaMotor = um.etiquetaMotor() self.etiquetaTiempo = um.etiquetaTiempo() self.tablero = owner.tablero self.lbMotorM = Controles.LB( self, self.etiquetaMotor).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.lbTiempoM = Controles.LB( self, self.etiquetaTiempo).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.dicFonts = {True: "blue", False: "grey"} self.btCancelar = Controles.PB(self, "", self.cancelar).ponIcono(Iconos.X()) self.lbPuntuacion = owner.lbPuntuacion self.lbMotor = owner.lbMotor self.lbTiempo = owner.lbTiempo self.lbPGN = owner.lbPGN self.listaRM = um.listaRM self.siTiempoActivo = False self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) oColumnas = Columnas.ListaColumnas() self.siFigurinesPGN = VarGen.configuracion.figurinesPGN oColumnas.nueva( "JUGADAS", "%d %s" % (len(self.listaRM), _("Moves")), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN( um.jg.siBlancas() if self.siFigurinesPGN else None)) self.wrm = Grid.Grid(self, oColumnas, siLineas=False) self.wrm.tipoLetra(puntos=VarGen.configuracion.puntosPGN) nAncho = self.wrm.anchoColumnas() + 20 self.wrm.setFixedWidth(nAncho) self.wrm.goto(self.um.posElegida, 0) # Layout ly2 = Colocacion.H().relleno().control( self.lbTiempoM).relleno().control(self.btCancelar) layout = Colocacion.V().control(self.lbMotorM).otro(ly2).control( self.wrm) self.setLayout(layout) self.wrm.setFocus()
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 __init__(self, gestor, xmotor, nombreOP, posicion, mrm, rmOP, rmUsu, analisis): self.siCompetitivo = gestor.siCompetitivo self.nombreOP = nombreOP self.posicion = posicion self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analisis = analisis 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 = VarGen.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.Delete() ), ) lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=True, tamIcon=24, siMas=True, 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 __init__(self, procesador, db_stat): QtWidgets.QWidget.__init__(self) self.db_stat = db_stat self.liMoves = [] self.procesador = procesador self.configuration = procesador.configuration self.si_figurines_pgn = self.configuration.x_pgn_withfigurines self.orden = ["games", False] # 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("games", _("Games"), 70, siDerecha=True) o_columns.nueva("pgames", "% " + _("Games"), 70, siDerecha=True, centered=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="summarybase", siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuration.x_pgn_fontpoints) self.grid.ponAltoFila(self.configuration.x_pgn_rowheight) layout = Colocacion.V() layout.control(self.grid) 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, nivel): titulo = "%s. %s %d" % (_("Moves between two positions"), _("Level"), nivel) super().__init__(parent=procesador.pantalla, titulo=titulo, icono=Iconos.Puente(), extparam="puenteBase") self.procesador = procesador self.configuracion = procesador.configuracion self.nivel = nivel self.historico = PuenteHistorico(self.configuracion.ficheroPuente, nivel) self.colorMejorFondo = QTUtil.qtColorRGB(150, 104, 145) self.colorBien = QTUtil.qtColorRGB(0, 0, 255) self.colorMal = QTUtil.qtColorRGB(255, 72, 72) self.colorMejor = QTUtil.qtColorRGB(255, 255, 255) # Historico oColumnas = Columnas.ListaColumnas() oColumnas.nueva("FECHA", _("Date"), 120, siCentrado=True) oColumnas.nueva("SEGUNDOS", _("Second(s)"), 120, siCentrado=True) self.ghistorico = Grid.Grid(self, oColumnas, siSelecFilas=True, siSeleccionMultiple=True) self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20) # Tool bar liAcciones = ( (_("Close"), Iconos.MainMenu(), "terminar"), None, (_("Start"), Iconos.Empezar(), "empezar"), (_("Remove"), Iconos.Borrar(), "borrar"), None, ) self.tb = Controles.TB(self, liAcciones) self.ponToolBar("terminar", "empezar", "borrar") # Colocamos lyTB = Colocacion.H().control(self.tb).margen(0) ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3) self.setLayout(ly) self.registrarGrid(self.ghistorico) self.recuperarVideo(siTam=False) self.ghistorico.gotop()
def __init__(self, owner, um): super(WMuestra, self).__init__(owner) self.um = um self.owner = owner self.etiquetaMotor = um.etiquetaMotor() self.etiquetaTiempo = um.etiquetaTiempo() self.tablero = owner.tablero self.lbMotorM = Controles.LB(self, self.etiquetaMotor).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.lbTiempoM = Controles.LB(self, self.etiquetaTiempo).alinCentrado().ponTipoLetra(puntos=9, peso=75) self.dicFonts = {True: "blue", False: "grey"} self.btCancelar = Controles.PB(self, "", self.cancelar).ponIcono(Iconos.X()) self.lbPuntuacion = owner.lbPuntuacion self.lbMotor = owner.lbMotor self.lbTiempo = owner.lbTiempo self.lbPGN = owner.lbPGN self.listaRM = um.listaRM self.siTiempoActivo = False self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) oColumnas = Columnas.ListaColumnas() siFigurinesPGN = VarGen.configuracion.figurinesPGN oColumnas.nueva("JUGADAS", "%d %s" % (len(self.listaRM), _("Moves")), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True if siFigurinesPGN else None)) self.wrm = Grid.Grid(self, oColumnas, siLineas=False) self.wrm.tipoLetra(puntos=9) nAncho = self.wrm.anchoColumnas() + 20 self.wrm.setFixedWidth(nAncho) self.wrm.goto(self.um.posElegida, 0) # Layout ly2 = Colocacion.H().relleno().control(self.lbTiempoM).relleno().control(self.btCancelar) layout = Colocacion.V().control(self.lbMotorM).otro(ly2).control(self.wrm) self.setLayout(layout) self.wrm.setFocus()
def __init__(self, procesador, nivel): titulo = "%s. %s %d" % (_("Moves between two positions"), _("Level"), nivel ) QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, Iconos.Puente(), "puenteBase") self.procesador = procesador self.configuracion = procesador.configuracion self.nivel = nivel self.historico = PuenteHistorico(self.configuracion.ficheroPuente, nivel) self.colorMejorFondo = QTUtil.qtColorRGB(150, 104, 145) self.colorBien = QTUtil.qtColorRGB(0, 0, 255) self.colorMal = QTUtil.qtColorRGB(255, 72, 72) self.colorMejor = QTUtil.qtColorRGB(255, 255, 255) # Historico oColumnas = Columnas.ListaColumnas() oColumnas.nueva("FECHA", _("Date"), 120, siCentrado=True) oColumnas.nueva("SEGUNDOS", _("Second(s)"), 120, siCentrado=True) self.ghistorico = Grid.Grid(self, oColumnas, siSelecFilas=True, siSeleccionMultiple=True) self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20) # Tool bar liAcciones = ( ( _("Quit"), Iconos.MainMenu(), "terminar" ), None, ( _("Remove"), Iconos.Borrar(), "borrar" ), None, ( _("Start"), Iconos.Empezar(), "empezar" ), ) self.tb = Controles.TB(self, liAcciones) self.ponToolBar("terminar", "empezar", "borrar") # Colocamos lyTB = Colocacion.H().control(self.tb).margen(0) ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3) self.setLayout(ly) self.registrarGrid(self.ghistorico) self.recuperarVideo(siTam=False) self.ghistorico.gotop()
def __init__(self, wParent, nombre_torneo): torneo = self.torneo = Tournament.Tournament(nombre_torneo) titulo = nombre_torneo icono = Iconos.Torneos() extparam = "untorneo_v1" QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam) self.configuracion = Code.configuracion # Datos self.liEnActual = [] self.xjugar = None self.liResult = None self.last_change = Util.today() self.li_results = [] # Toolbar tb = Controles.TBrutina(self, tamIcon=24) tb.new(_("Close"), Iconos.MainMenu(), self.terminar) tb.new(_("Launch a worker"), Iconos.Lanzamiento(), self.gm_launch) # Tabs self.tab = tab = Controles.Tab() # Tab-configuracion -------------------------------------------------- w = QtWidgets.QWidget() # Adjudicator lb_resign = Controles.LB( self, "%s (%s): " % (_("Minimum centipawns to assign winner"), _("0=disable"))) self.ed_resign = Controles.ED(self).tipoInt( torneo.resign()).anchoFijo(30) bt_resign = Controles.PB(self, "", rutina=self.borra_resign).ponIcono( Iconos.Reciclar()) # Draw-plys lbDrawMinPly = Controles.LB( self, "%s (%s): " % (_("Minimum moves to assign draw"), _("0=disable"))) self.sbDrawMinPly = Controles.SB(self, torneo.drawMinPly(), 20, 1000) # Draw-puntos lb_draw_range = Controles.LB( self, _("Maximum centipawns to assign draw") + ": ") self.ed_draw_range = Controles.ED(self).tipoInt( torneo.drawRange()).anchoFijo(30) bt_draw_range = Controles.PB( self, "", rutina=self.borra_draw_range).ponIcono(Iconos.Reciclar()) # adjudicator self.liMotores = self.configuracion.comboMotoresMultiPV10() self.cbJmotor, self.lbJmotor = QTUtil2.comboBoxLB( self, self.liMotores, torneo.adjudicator(), _("Engine")) self.edJtiempo = Controles.ED(self).tipoFloat().ponFloat( 1.0).anchoFijo(50).ponFloat(torneo.adjudicator_time()) self.lbJtiempo = Controles.LB2P(self, _("Time in seconds")) layout = Colocacion.G() layout.controld(self.lbJmotor, 3, 0).control(self.cbJmotor, 3, 1) layout.controld(self.lbJtiempo, 4, 0).control(self.edJtiempo, 4, 1) self.gbJ = Controles.GB(self, _("Adjudicator"), layout) self.gbJ.setCheckable(True) self.gbJ.setChecked(torneo.adjudicator_active()) lbBook = Controles.LB(self, _("Opening book") + ": ") fvar = self.configuracion.ficheroBooks self.listaLibros = Books.ListaLibros() self.listaLibros.restore_pickle(fvar) # Comprobamos que todos esten accesibles self.listaLibros.comprueba() li = [(x.name, x.path) for x in self.listaLibros.lista] li.insert(0, ("* " + _("None"), "-")) self.cbBooks = Controles.CB(self, li, torneo.book()) btNuevoBook = Controles.PB(self, "", self.nuevoBook, plano=False).ponIcono(Iconos.Nuevo(), tamIcon=16) lyBook = Colocacion.H().control( self.cbBooks).control(btNuevoBook).relleno() lbBookDepth = Controles.LB(self, _("Max depth of book (0=Maximum)") + ": ") self.sbBookDepth = Controles.SB(self, torneo.bookDepth(), 0, 200) # Posicion inicial lbFEN = Controles.LB(self, _("Initial position") + ": ") self.fen = torneo.fen() self.btPosicion = Controles.PB(self, " " * 5 + _("Change") + " " * 5, self.posicionEditar).ponPlano(False) self.btPosicionQuitar = Controles.PB( self, "", self.posicionQuitar).ponIcono(Iconos.Motor_No()) self.btPosicionPegar = (Controles.PB(self, "", self.posicionPegar).ponIcono( Iconos.Pegar16()).ponToolTip( _("Paste FEN position"))) lyFEN = (Colocacion.H().control(self.btPosicionQuitar).control( self.btPosicion).control(self.btPosicionPegar).relleno()) # Norman Pollock lbNorman = Controles.LB( self, '%s(<a href="https://komodochess.com/pub/40H-pgn-utilities">?</a>): ' % _("Initial position from Norman Pollock openings database"), ) self.chbNorman = Controles.CHB(self, " ", self.torneo.norman()) # Layout layout = Colocacion.G() ly_res = Colocacion.H().control( self.ed_resign).control(bt_resign).relleno() ly_dra = Colocacion.H().control( self.ed_draw_range).control(bt_draw_range).relleno() layout.controld(lb_resign, 0, 0).otro(ly_res, 0, 1) layout.controld(lbDrawMinPly, 1, 0).control(self.sbDrawMinPly, 1, 1) layout.controld(lb_draw_range, 2, 0).otro(ly_dra, 2, 1) layout.controld(lbBook, 3, 0).otro(lyBook, 3, 1) layout.controld(lbBookDepth, 4, 0).control(self.sbBookDepth, 4, 1) layout.controld(lbFEN, 5, 0).otro(lyFEN, 5, 1) layout.controld(lbNorman, 6, 0).control(self.chbNorman, 6, 1) layoutV = Colocacion.V().relleno().otro(layout).control( self.gbJ).relleno() layoutH = Colocacion.H().relleno().otro(layoutV).relleno() # Creamos w.setLayout(layoutH) tab.nuevaTab(w, _("Configuration")) # Tab-engines -------------------------------------------------- self.splitterEngines = QtWidgets.QSplitter(self) self.register_splitter(self.splitterEngines, "engines") # TB li_acciones = [ (_("New"), Iconos.TutorialesCrear(), self.enNuevo), None, (_("Modify"), Iconos.Modificar(), self.enModificar), None, (_("Remove"), Iconos.Borrar(), self.enBorrar), None, (_("Copy"), Iconos.Copiar(), self.enCopiar), None, (_("Import"), Iconos.MasDoc(), self.enImportar), None, ] tbEnA = Controles.TBrutina(self, li_acciones, tamIcon=16, style=QtCore.Qt.ToolButtonTextBesideIcon) # Grid engine o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("ALIAS", _("Alias"), 209) self.gridEnginesAlias = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_ALIAS) self.register_grid(self.gridEnginesAlias) w = QtWidgets.QWidget() ly = Colocacion.V().control(self.gridEnginesAlias).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) o_columns = Columnas.ListaColumnas() o_columns.nueva("CAMPO", _("Label"), 200, siDerecha=True) o_columns.nueva("VALOR", _("Value"), 286) self.gridEnginesValores = Grid.Grid(self, o_columns, siSelecFilas=False, xid=GRID_VALUES) self.register_grid(self.gridEnginesValores) w = QtWidgets.QWidget() ly = Colocacion.V().control(self.gridEnginesValores).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) self.splitterEngines.setSizes([250, 520]) # por defecto w = QtWidgets.QWidget() ly = Colocacion.V().control(tbEnA).control(self.splitterEngines) w.setLayout(ly) tab.nuevaTab(w, _("Engines")) # Creamos # Tab-games queued-------------------------------------------------- w = QtWidgets.QWidget() # TB li_acciones = [ (_("New"), Iconos.TutorialesCrear(), self.gm_crear_queued), None, (_("Remove"), Iconos.Borrar(), self.gm_borrar_queued), None, ] tbEnG = Controles.TBrutina(self, li_acciones, tamIcon=16, style=QtCore.Qt.ToolButtonTextBesideIcon) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("WHITE", _("White"), 190, centered=True) o_columns.nueva("BLACK", _("Black"), 190, centered=True) o_columns.nueva("TIME", _("Time"), 170, centered=True) # o_columns.nueva("STATE", _("State"), 190, centered=True) self.gridGamesQueued = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_GAMES_QUEUED) self.register_grid(self.gridGamesQueued) # Layout layout = Colocacion.V().control(tbEnG).control(self.gridGamesQueued) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Games queued")) # Tab-games terminados-------------------------------------------------- w = QtWidgets.QWidget() # TB li_acciones = [ (_("Remove"), Iconos.Borrar(), self.gm_borrar_finished), None, (_("Show"), Iconos.PGN(), self.gm_show_finished), None, (_("Save") + "(%s)" % _("PGN"), Iconos.GrabarComo(), self.gm_save_pgn), None, ] tbEnGt = Controles.TBrutina(self, li_acciones, tamIcon=16, style=QtCore.Qt.ToolButtonTextBesideIcon) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("WHITE", _("White"), 190, centered=True) o_columns.nueva("BLACK", _("Black"), 190, centered=True) o_columns.nueva("TIME", _("Time"), 170, centered=True) o_columns.nueva("RESULT", _("Result"), 190, centered=True) self.gridGamesFinished = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_GAMES_FINISHED) self.register_grid(self.gridGamesFinished) # Layout layout = Colocacion.V().control(tbEnGt).control(self.gridGamesFinished) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Games finished")) # Tab-resultado -------------------------------------------------- w = QtWidgets.QWidget() # Grid wh = _("W") bl = _("B") o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 35, centered=True) o_columns.nueva("ENGINE", _("Engine"), 120, centered=True) o_columns.nueva("SCORE", _("Score") + "%", 50, centered=True) o_columns.nueva("WIN", _("Wins"), 50, centered=True) o_columns.nueva("DRAW", _("Draws"), 50, centered=True) o_columns.nueva("LOST", _("Losses"), 50, centered=True) o_columns.nueva("WIN-WHITE", "%s %s" % (wh, _("Wins")), 60, centered=True) o_columns.nueva("DRAW-WHITE", "%s %s" % (wh, _("Draws")), 60, centered=True) o_columns.nueva("LOST-WHITE", "%s %s" % (wh, _("Losses")), 60, centered=True) o_columns.nueva("WIN-BLACK", "%s %s" % (bl, _("Wins")), 60, centered=True) o_columns.nueva("DRAW-BLACK", "%s %s" % (bl, _("Draws")), 60, centered=True) o_columns.nueva("LOST-BLACK", "%s %s" % (bl, _("Losses")), 60, centered=True) o_columns.nueva("GAMES", _("Games"), 50, centered=True) self.gridResults = Grid.Grid(self, o_columns, siSelecFilas=True, xid=GRID_RESULTS) self.register_grid(self.gridResults) self.qtColor = { "WHITE": QTUtil.qtColorRGB(255, 250, 227), "BLACK": QTUtil.qtColorRGB(221, 255, 221), "SCORE": QTUtil.qtColorRGB(170, 170, 170), } # Layout layout = Colocacion.V().control(self.gridResults) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Results")) # Layout # tab.setposition("W") layout = Colocacion.V().control(tb).espacio(-3).control(tab).margen(2) self.setLayout(layout) self.restore_video(siTam=True, anchoDefecto=800, altoDefecto=430) self.gridEnginesAlias.gotop() self.ed_resign.setFocus() self.muestraPosicion() QtCore.QTimer.singleShot(5000, self.comprueba_cambios) self.rotulos_tabs()
def __init__(self, wowner, gestor, alm, muestraAnalisis): titulo = _("Result of analysis") icono = Iconos.Estadisticas() extparam = "estadisticasv1" QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint) self.alm = alm self.procesador = gestor.procesador self.gestor = gestor self.configuracion = gestor.configuracion self.siPawns = not gestor.procesador.configuracion.centipawns self.muestraAnalisis = muestraAnalisis self.colorWhite = QTUtil.qtColorRGB(231, 244, 254) def xcol(): oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUM", _("N."), 50, siCentrado=True) oColumnas.nueva("MOVE", _("Move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("BEST", _("Best move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("DIF", _("Difference"), 80, siCentrado=True) oColumnas.nueva("PORC", "%", 80, siCentrado=True) oColumnas.nueva("ELO", _("Elo"), 80, siCentrado=True) return oColumnas self.dicLiJG = { "A": self.alm.lijg, "W": self.alm.lijgW, "B": self.alm.lijgB } gridAll = Grid.Grid(self, xcol(), siSelecFilas=True, xid="A") anchoGrid = gridAll.fixMinWidth() self.registrarGrid(gridAll) gridW = Grid.Grid(self, xcol(), siSelecFilas=True, xid="W") anchoGrid = max(gridW.fixMinWidth(), anchoGrid) self.registrarGrid(gridW) gridB = Grid.Grid(self, xcol(), siSelecFilas=True, xid="B") anchoGrid = max(gridB.fixMinWidth(), anchoGrid) self.registrarGrid(gridB) lbIndexes = Controles.LB(self, alm.indexesHTML) pbSave = Controles.PB(self, _("Save to game comments"), self.saveIndexes, plano=False) pbSave.ponIcono(Iconos.Grabar()) ly0 = Colocacion.H().control(pbSave).relleno() ly = Colocacion.V().control(lbIndexes).otro(ly0).relleno() wIdx = QtGui.QWidget() wIdx.setLayout(ly) self.tabGrid = tabGrid = Controles.Tab() tabGrid.nuevaTab(gridAll, _("All moves")) tabGrid.nuevaTab(gridW, _("White")) tabGrid.nuevaTab(gridB, _("Black")) tabGrid.nuevaTab(wIdx, _("Indexes")) tabGrid.dispatchChange(self.tabChanged) self.tabActive = 0 confTablero = VarGen.configuracion.confTablero("ANALISISGRAPH", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.dispatchSize(self.tableroSizeChanged) self.capturas = WCapturas.CapturaLista(self, self.tablero) ly_tc = Colocacion.H().control(self.tablero).control(self.capturas) self.rbShowValues = Controles.RB(self, _("Values"), rutina=self.cambiadoShow).activa(True) self.rbShowElo = Controles.RB(self, _("Elo perfomance"), rutina=self.cambiadoShow) self.chbShowLostPoints = Controles.CHB( self, _("Show lost points"), self.getShowLostPoints()).capturaCambiado( self, self.showLostPointsChanged) ly_rb = Colocacion.H().espacio(40).control( self.rbShowValues).espacio(20).control( self.rbShowElo).espacio(30).control( self.chbShowLostPoints).relleno(1) layout = Colocacion.G() layout.controlc(tabGrid, 0, 0) layout.otroc(ly_rb, 1, 0) layout.otroc(ly_tc, 0, 1, numFilas=2) Controles.Tab().ponPosicion("W") ancho = self.tablero.width() + anchoGrid self.htotal = [ Histogram.Histogram(self, alm.hgame, gridAll, ancho, True), Histogram.Histogram(self, alm.hwhite, gridW, ancho, True), Histogram.Histogram(self, alm.hblack, gridB, ancho, True), Histogram.Histogram(self, alm.hgame, gridAll, ancho, False, alm.eloT), Histogram.Histogram(self, alm.hwhite, gridW, ancho, False, alm.eloW), Histogram.Histogram(self, alm.hblack, gridB, ancho, False, alm.eloB) ] lh = Colocacion.V() for x in range(6): lh.control(self.htotal[x]) if x: self.htotal[x].hide() layout.otroc(lh, 2, 0, 1, 3) self.setLayout(layout) self.recuperarVideo(siTam=False) gridAll.gotop() gridB.gotop() gridW.gotop() self.gridBotonIzquierdo(gridAll, 0, None) self.tabGrid.setFixedHeight(self.tablero.height()) self.adjustSize()
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, gestor, elo, titulo, icono, tipo): QTVarios.WDialogo.__init__(self, gestor.pantalla, titulo, icono, tipo.lower()) self.siMicElo = tipo == "MICELO" self.siMicPer = tipo == "MICPER" self.siMic = self.siMicElo or self.siMicPer self.gestor = gestor self.colorNoJugable = QTUtil.qtColorRGB(241, 226, 226) self.colorMenor = QTUtil.qtColorRGB(245, 245, 245) self.colorMayor = None self.elo = elo self.tipo = tipo # Toolbar liAcciones = [ (_("Choose"), Iconos.Aceptar(), self.elegir), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Random opponent"), Iconos.FAQ(), self.selectRandom), None, ] if self.siMicElo: liAcciones.append((_("Reset"), Iconos.Reiniciar(), self.reset)) liAcciones.append(None) self.tb = Controles.TBrutina(self, liAcciones) self.liMotores = self.gestor.listaMotores(elo) self.liMotoresActivos = self.liMotores dicValores = VarGen.configuracion.leeVariables(tipo) if not dicValores: dicValores = {} liFiltro = ( ("---", None), (">=", ">"), ("<=", "<"), ("+-100", "100"), ("+-200", "200"), ("+-400", "400"), ("+-800", "800"), ) self.cbElo = Controles.CB(self, liFiltro, None).capturaCambiado(self.filtrar) minimo = 9999 maximo = 0 for mt in self.liMotores: if mt.siJugable: if mt.elo < minimo: minimo = mt.elo if mt.elo > maximo: maximo = mt.elo self.sbElo, lbElo = QTUtil2.spinBoxLB(self, elo, minimo, maximo, maxTam=50, etiqueta=_("Elo")) self.sbElo.capturaCambiado(self.filtrar) if self.siMic: liCaract = [] st = set() for mt in self.liMotores: mt.liCaract = li = mt.idInfo.split("\n") mt.txtCaract = ", ".join([_F(x) for x in li]) for x in li: if x not in st: st.add(x) liCaract.append((_F(x), x)) liCaract.sort(key=lambda x: x[1]) liCaract.insert(0, ("---", None)) self.cbCaract = Controles.CB(self, liCaract, None).capturaCambiado(self.filtrar) ly = Colocacion.H().control(lbElo).control(self.cbElo).control( self.sbElo) if self.siMic: ly.control(self.cbCaract) ly.relleno(1) gbRandom = Controles.GB(self, "", ly) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True) oColumnas.nueva("MOTOR", _("Name"), 140) oColumnas.nueva("ELO", _("Elo"), 60, siDerecha=True) if not self.siMicPer: oColumnas.nueva("GANA", _("Win"), 80, siCentrado=True) oColumnas.nueva("TABLAS", _("Draw"), 80, siCentrado=True) oColumnas.nueva("PIERDE", _("Lost"), 80, siCentrado=True) if self.siMic: oColumnas.nueva("INFO", _("Information"), 300, siCentrado=True) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, siCabeceraMovible=False, altoFila=24) n = self.grid.anchoColumnas() self.grid.setMinimumWidth(n + 20) self.registrarGrid(self.grid) f = Controles.TipoLetra(puntos=9) self.grid.setFont(f) self.grid.gotop() # Layout lyH = Colocacion.H().control(self.tb).control(gbRandom) layout = Colocacion.V().otro(lyH).control(self.grid).margen(3) self.setLayout(layout) self.filtrar() self.recuperarVideo()
def __init__(self, wowner, manager, alm, show_analysis): titulo = _("Result of analysis") icono = Iconos.Estadisticas() extparam = "estadisticasv1" QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint) self.alm = alm self.procesador = manager.procesador self.manager = manager self.configuration = manager.configuration self.show_analysis = show_analysis self.colorWhite = QTUtil.qtColorRGB(231, 244, 254) def xcol(): o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("MOVE", _("Move"), 120, centered=True, edicion=Delegados.EtiquetaPGN(True, True, True)) o_columns.nueva("BEST", _("Best move"), 120, centered=True, edicion=Delegados.EtiquetaPGN(True, True, True)) o_columns.nueva("DIF", _("Difference"), 80, centered=True) o_columns.nueva("PORC", "%", 80, centered=True) o_columns.nueva("ELO", _("Elo"), 80, centered=True) return o_columns self.dicLiJG = { "A": self.alm.lijg, "W": self.alm.lijgW, "B": self.alm.lijgB } gridAll = Grid.Grid(self, xcol(), siSelecFilas=True, xid="A") anchoGrid = gridAll.fixMinWidth() self.register_grid(gridAll) gridW = Grid.Grid(self, xcol(), siSelecFilas=True, xid="W") anchoGrid = max(gridW.fixMinWidth(), anchoGrid) self.register_grid(gridW) gridB = Grid.Grid(self, xcol(), siSelecFilas=True, xid="B") anchoGrid = max(gridB.fixMinWidth(), anchoGrid) self.register_grid(gridB) self.emIndexes = Controles.EM(self, alm.indexesHTML).read_only() pbSave = Controles.PB(self, _("Save to game comments"), self.saveIndexes, plano=False) pbSave.ponIcono(Iconos.Grabar()) ly0 = Colocacion.H().control(pbSave).relleno() ly = Colocacion.V().control(self.emIndexes).otro(ly0).relleno() wIdx = QtWidgets.QWidget() wIdx.setLayout(ly) self.tabGrid = tabGrid = Controles.Tab() tabGrid.nuevaTab(gridAll, _("All moves")) tabGrid.nuevaTab(gridW, _("White")) tabGrid.nuevaTab(gridB, _("Black")) tabGrid.nuevaTab(wIdx, _("Indexes")) tabGrid.dispatchChange(self.tabChanged) self.tabActive = 0 config_board = Code.configuration.config_board("ANALISISGRAPH", 48) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(alm.is_white_bottom) self.board.dispatchSize(self.boardSizeChanged) # self.capturas = WCapturas.CapturaLista(self, self.board) ly_tc = Colocacion.H().control(self.board) # .control(self.capturas) self.rbShowValues = Controles.RB(self, _("Values"), rutina=self.cambiadoShow).activa(True) self.rbShowElo = Controles.RB(self, _("Elo performance"), rutina=self.cambiadoShow) self.chbShowLostPoints = Controles.CHB( self, _("Show lost points"), self.getShowLostPoints()).capture_changes( self, self.showLostPointsChanged) ly_rb = (Colocacion.H().espacio(40).control( self.rbShowValues).espacio(20).control( self.rbShowElo).espacio(30).control( self.chbShowLostPoints).relleno(1)) layout = Colocacion.G() layout.controlc(tabGrid, 0, 0) layout.otroc(ly_rb, 1, 0) layout.otroc(ly_tc, 0, 1, numFilas=2) Controles.Tab().set_position("W") ancho = self.board.width() + anchoGrid self.htotal = [ Histogram.Histogram(self, alm.hgame, gridAll, ancho, True), Histogram.Histogram(self, alm.hwhite, gridW, ancho, True), Histogram.Histogram(self, alm.hblack, gridB, ancho, True), Histogram.Histogram(self, alm.hgame, gridAll, ancho, False, alm.eloT), Histogram.Histogram(self, alm.hwhite, gridW, ancho, False, alm.eloW), Histogram.Histogram(self, alm.hblack, gridB, ancho, False, alm.eloB), ] lh = Colocacion.V() for x in range(6): lh.control(self.htotal[x]) if x: self.htotal[x].hide() layout.otroc(lh, 2, 0, 1, 3) self.setLayout(layout) self.restore_video() gridAll.gotop() gridB.gotop() gridW.gotop() self.grid_left_button(gridAll, 0, None) th = self.board.height() self.tabGrid.setFixedHeight(th) self.adjustSize() self.emIndexes.setFixedHeight(th - 72)
def __init__(self, wowner, gestor, alm, muestraAnalisis): titulo = _("Result of analysis") icono = Iconos.Estadisticas() extparam = "estadisticas" QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam) self.alm = alm self.procesador = gestor.procesador self.gestor = gestor self.siPawns = not gestor.procesador.configuracion.centipawns self.muestraAnalisis = muestraAnalisis self.colorWhite = QTUtil.qtColorRGB(231, 244, 254) tabGen = Controles.Tab() w = QtGui.QWidget() def xcol(): oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUM", _("N."), 50, siCentrado=True) oColumnas.nueva("MOVE", _("Move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True)) oColumnas.nueva("BEST", _("Best move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True)) oColumnas.nueva("DIF", _("Difference"), 80, siCentrado=True) oColumnas.nueva("PORC", "%", 80, siCentrado=True) return oColumnas self.dicLiJG = {"A": self.alm.lijg, "W": self.alm.lijgW, "B": self.alm.lijgB} gridAll = Grid.Grid(self, xcol(), siSelecFilas=True, id="A") self.registrarGrid(gridAll) gridW = Grid.Grid(self, xcol(), siSelecFilas=True, id="W") self.registrarGrid(gridW) gridB = Grid.Grid(self, xcol(), siSelecFilas=True, id="B") self.registrarGrid(gridB) lbIndexes = Controles.LB(self, alm.indexesHTML) pbSave = Controles.PB(self,_("Save to game comments"), self.saveIndexes, plano=False ) pbSave.ponIcono(Iconos.Grabar()) ly0 = Colocacion.H().control(pbSave).relleno() ly = Colocacion.V().control(lbIndexes).otro(ly0).relleno() wIdx = QtGui.QWidget() wIdx.setLayout(ly) tabGrid = Controles.Tab().ponPosicion("W") tabGrid.nuevaTab(gridAll, _("All moves")) tabGrid.nuevaTab(gridW, _("White")) tabGrid.nuevaTab(gridB, _("Black")) tabGrid.nuevaTab(wIdx, _("Indexes")) confTablero = VarGen.configuracion.confTablero("ANALISISGRAPH", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) layout = Colocacion.H().control(tabGrid).control(self.tablero).margen(0) w.setLayout(layout) tabGen.nuevaTab(w, _("Data")) tabGraph = Controles.Tab().ponPosicion("W") tabGen.nuevaTab(tabGraph, _("Graphics")) tab = Controles.Tab() tab.nuevaTab(alm.game, _("Total")) tab.nuevaTab(alm.gameDif, _("Lost points")) tabGraph.nuevaTab(tab, _("All moves")) tab = Controles.Tab() tab.nuevaTab(alm.white, _("Total")) tab.nuevaTab(alm.whiteDif, _("Lost points")) tabGraph.nuevaTab(tab, _("White")) tab = Controles.Tab() tab.nuevaTab(alm.black, _("Total")) tab.nuevaTab(alm.blackDif, _("Lost points")) tabGraph.nuevaTab(tab, _("Black")) layout = Colocacion.V().control(tabGen).margen(8) self.setLayout(layout) self.recuperarVideo(siTam=True, anchoDefecto=960, altoDefecto=600) gridAll.gotop() gridB.gotop() gridW.gotop() self.gridBotonIzquierdo(gridAll, 0, None)
def __init__(self, procesador): self.procesador = procesador self.configuracion = procesador.configuracion self.db = EndingsGTB.DBendings(self.configuracion) self.t4 = LibChess.T4(self.configuracion) QTVarios.WDialogo.__init__( self, procesador.main_window, _("Endings with Gaviota Tablebases"), Iconos.Finales(), "endings_gtb" ) self.game = Game.Game() self.act_recno = -1 li_acciones = ( (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Config"), Iconos.Configurar(), self.configurar), None, (_("Utilities"), Iconos.Utilidades(), self.utilidades), None, ) tb = QTVarios.LCTB(self, li_acciones) ly_bt, self.bt_movs = QTVarios.lyBotonesMovimiento( self, "", siTiempo=True, siLibre=False, rutina=self.run_botones, tamIcon=24 ) self.chb_help = Controles.CHB(self, _("Help mode"), False) ly_bt.espacio(20).control(self.chb_help) self.wpzs = QtWidgets.QWidget(self) self.wpzs.li_labels = [] ly_wpzs = Colocacion.H() for x in range(6): lbl = Controles.LB(self.wpzs) self.wpzs.li_labels.append(lbl) ly_wpzs.control(lbl) self.wpzs.setLayout(ly_wpzs) self.wpzs.mousePressEvent = self.change self.color_done = QTUtil.qtColorRGB(213, 233, 250) li_acciones = ( None, (" " + _("Play"), Iconos.Play1(), self.play), None, (" " + _("New"), Iconos.New1(), self.nuevo), None, (" " + _("Remove"), Iconos.Remove1(), self.remove), None, ) self.tb_run = Controles.TBrutina(self, li_acciones, tamIcon=32, puntos=self.configuracion.x_tb_fontpoints) ly_top = Colocacion.H().control(tb).relleno().control(self.wpzs).relleno().control(self.tb_run) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("XFEN", _("Position"), 140, centered=True) o_columns.nueva("MATE", _("Mate"), 60, centered=True) o_columns.nueva("TRIES", _("Tries"), 50, centered=True) o_columns.nueva("MOVES", _("Minimum moves"), 120, centered=True) o_columns.nueva("TIMEMS", _("Minimum time"), 120, centered=True) self.grid = Grid.Grid(self, o_columns, siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuracion.x_pgn_fontpoints) self.grid.ponAltoFila(self.configuracion.x_pgn_rowheight) self.grid.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) ly_pos = Colocacion.V().control(self.grid) config_board = self.configuracion.config_board("ENDINGSGTB", 64) self.tablero = TableroEndings(self, config_board) self.tablero.set_startup_control(self.startup_control) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.set_dispatcher(self.mueve_humano) self.pzs = self.tablero.piezas self.playing = False ly_left_bottom = Colocacion.V().control(self.tablero).otro(ly_bt).relleno().margen(0) w = QtWidgets.QWidget(self) w.setLayout(ly_left_bottom) w.setFixedWidth(self.tablero.ancho + 16) ly_bottom = Colocacion.H().control(w).otro(ly_pos) layout = Colocacion.V().otro(ly_top).otro(ly_bottom).margen(6) self.setLayout(layout) self.restore_video() dic = self.configuracion.leeVariables("endingsGTB") self.key = key = dic.get("KEY") if (not key) or len(key) > self.configuracion.piezas_gaviota(): key = "KPk" self.db.set_examples_auto(dic.get("EXAMPLES_AUTO", True)) self.set_key(key) self.play_next_type = dic.get("PLAY_NEXT", PLAY_STOP) self.grid.gotop() self.play()
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 __init__(self, gestor, elo, titulo, icono, tipo): QTVarios.WDialogo.__init__(self, gestor.pantalla, titulo, icono, tipo.lower()) self.siMicElo = tipo == "MICELO" self.siMicPer = tipo == "MICPER" self.siMic = self.siMicElo or self.siMicPer self.gestor = gestor self.colorNoJugable = QTUtil.qtColorRGB(241, 226, 226) self.colorMenor = QTUtil.qtColorRGB(245, 245, 245) self.colorMayor = None self.elo = elo self.tipo = tipo # Toolbar liAcciones = [( _("Choose"), Iconos.Aceptar(), self.elegir ), None, ( _("Cancel"), Iconos.Cancelar(), self.cancelar ), None, ( _("Random opponent"), Iconos.FAQ(), self.selectRandom ), None, ] if self.siMicElo: liAcciones.append(( _("Reset"), Iconos.Reiniciar(), self.reset )) liAcciones.append(None) self.tb = Controles.TBrutina(self, liAcciones) self.liMotores = self.gestor.listaMotores(elo) self.liMotoresActivos = self.liMotores dicValores = VarGen.configuracion.leeVariables(tipo) if not dicValores: dicValores = {} liFiltro = ( ( "---", None ), ( ">=", ">" ), ( "<=", "<" ), ( "+-100", "100" ), ( "+-200", "200" ), ( "+-400", "400" ), ( "+-800", "800" ), ) self.cbElo = Controles.CB(self, liFiltro, None).capturaCambiado(self.filtrar) minimo = 9999 maximo = 0 for mt in self.liMotores: if mt.siJugable: if mt.elo < minimo: minimo = mt.elo if mt.elo > maximo: maximo = mt.elo self.sbElo, lbElo = QTUtil2.spinBoxLB(self, elo, minimo, maximo, maxTam=50, etiqueta=_("Elo")) self.sbElo.capturaCambiado(self.filtrar) if self.siMic: liCaract = [] st = set() for mt in self.liMotores: mt.liCaract = li = mt.idInfo.split("\n") mt.txtCaract = ", ".join([ _F(x) for x in li]) for x in li: if x not in st: st.add(x) liCaract.append( (_F(x), x) ) liCaract.sort( key=lambda x: x[1] ) liCaract.insert(0, ("---", None) ) self.cbCaract = Controles.CB(self,liCaract,None).capturaCambiado(self.filtrar) ly = Colocacion.H().control(lbElo).control(self.cbElo).control(self.sbElo) if self.siMic: ly.control(self.cbCaract) ly.relleno(1) gbRandom = Controles.GB(self, "", ly) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True) oColumnas.nueva("MOTOR", _("Name"), 140) oColumnas.nueva("ELO", _("Elo"), 60, siDerecha=True) if not self.siMicPer: oColumnas.nueva("GANA", _("Win"), 80, siCentrado=True) oColumnas.nueva("TABLAS", _("Draw"), 80, siCentrado=True) oColumnas.nueva("PIERDE", _("Lost"), 80, siCentrado=True) if self.siMic: oColumnas.nueva("INFO", _("Information"), 300, siCentrado=True) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, siCabeceraMovible=False, altoFila=24) n = self.grid.anchoColumnas() self.grid.setMinimumWidth(n + 20) self.registrarGrid(self.grid) f = Controles.TipoLetra(puntos=9) self.grid.setFont(f) self.grid.gotop() # Layout lyH = Colocacion.H().control(self.tb).control(gbRandom) layout = Colocacion.V().otro(lyH).control(self.grid).margen(3) self.setLayout(layout) self.filtrar() self.recuperarVideo()
def __init__(self, procesador, winBookGuide, dbGames): QtGui.QWidget.__init__(self) self.winBookGuide = winBookGuide self.procesador = procesador self.data = [[], [], [], []] self.movesWhite = [] self.movesBlack = [] self.lastFilterMoves = {"white": "", "black": ""} self.configuracion = procesador.configuracion self.infoMove = None # <-- setInfoMove self.ap = AperturasStd.ap self.gridOpeningWhite = self.gridOpeningBlack = self.gridMovesWhite = self.gridMovesBlack = 0 # GridOpening ancho = 54 oColumnas = Columnas.ListaColumnas() oColumnas.nueva("opening", _("Opening"), 200) oColumnas.nueva("games", _("Games"), ancho, siDerecha=True) oColumnas.nueva("pgames", "% " + _("Games"), 70, siDerecha=True) oColumnas.nueva("win", _("Win"), ancho, siDerecha=True) oColumnas.nueva("draw", _("Draw"), ancho, siDerecha=True) oColumnas.nueva("lost", _("Loss"), ancho, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), ancho, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), ancho, siDerecha=True) oColumnas.nueva("plost", "% " + _("Loss"), ancho, siDerecha=True) oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), ancho, siDerecha=True) oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), ancho, siDerecha=True) self.gridOpeningWhite = Grid.Grid(self, oColumnas, siSelecFilas=True) self.gridOpeningBlack = Grid.Grid(self, oColumnas, siSelecFilas=True) # GridWhite/GridBlack oColumnas = Columnas.ListaColumnas() oColumnas.nueva("games", _("Games"), ancho, siDerecha=True) oColumnas.nueva("win", _("Win"), ancho, siDerecha=True) oColumnas.nueva("draw", _("Draw"), ancho, siDerecha=True) oColumnas.nueva("lost", _("Loss"), ancho, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), ancho, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), ancho, siDerecha=True) oColumnas.nueva("plost", "% " + _("Loss"), ancho, siDerecha=True) ancho_col = 40 siFigurinesPGN = self.configuracion.figurinesPGN for x in range(1, 50): num = (x - 1) * 2 oColumnas.nueva(str(num), "%d." % x, ancho_col, siCentrado=True, edicion=Delegados.EtiquetaPOS(siFigurinesPGN, siLineas=False)) oColumnas.nueva(str(num + 1), "...", ancho_col, siCentrado=True, edicion=Delegados.EtiquetaPOS(siFigurinesPGN, siLineas=False)) self.gridMovesWhite = Grid.Grid(self, oColumnas, siSelecFilas=True) self.gridMovesBlack = Grid.Grid(self, oColumnas, siSelecFilas=True) wWhite = QtGui.QWidget(self) tbmovesw = ToolbarMoves("white", self.dispatchMoves) ly = Colocacion.V().control(tbmovesw).control( self.gridMovesWhite).margen(3) wWhite.setLayout(ly) wblack = QtGui.QWidget(self) tbmovesb = ToolbarMoves("black", self.dispatchMoves) ly = Colocacion.V().control(tbmovesb).control( self.gridMovesBlack).margen(3) wblack.setLayout(ly) tabs = Controles.Tab(self) tabs.nuevaTab(self.gridOpeningWhite, _("White openings")) tabs.nuevaTab(self.gridOpeningBlack, _("Black openings")) tabs.nuevaTab(wWhite, _("White moves")) tabs.nuevaTab(wblack, _("Black moves")) # ToolBar liAccionesWork = [ (_("Close"), Iconos.MainMenu(), self.tw_terminar), None, ("", Iconos.Usuarios(), self.tw_changeplayer), None, (_("Rebuild"), Iconos.Reindexar(), self.tw_rebuild), None, ] self.tbWork = Controles.TBrutina(self, liAccionesWork, tamIcon=24, puntos=12) self.tbWork.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) lyTB = Colocacion.H().control(self.tbWork) layout = Colocacion.V().otro(lyTB).control(tabs).margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217)) self.setdbGames(dbGames) self.setPlayer(self.leeVariable("PLAYER", ""))
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))
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) )
def __init__(self, wowner, gestor, alm, muestraAnalisis): titulo = _("Result of analysis") icono = Iconos.Estadisticas() extparam = "estadisticas" QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam) self.alm = alm self.procesador = gestor.procesador self.gestor = gestor self.siPawns = not gestor.procesador.configuracion.centipawns self.muestraAnalisis = muestraAnalisis self.colorWhite = QTUtil.qtColorRGB(231, 244, 254) tabGen = Controles.Tab() w = QtGui.QWidget() def xcol(): oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUM", _("N."), 50, siCentrado=True) oColumnas.nueva("MOVE", _("Move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("BEST", _("Best move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("DIF", _("Difference"), 80, siCentrado=True) oColumnas.nueva("PORC", "%", 80, siCentrado=True) return oColumnas self.dicLiJG = { "A": self.alm.lijg, "W": self.alm.lijgW, "B": self.alm.lijgB } gridAll = Grid.Grid(self, xcol(), siSelecFilas=True, id="A") self.registrarGrid(gridAll) gridW = Grid.Grid(self, xcol(), siSelecFilas=True, id="W") self.registrarGrid(gridW) gridB = Grid.Grid(self, xcol(), siSelecFilas=True, id="B") self.registrarGrid(gridB) lbIndexes = Controles.LB(self, alm.indexesHTML) pbSave = Controles.PB(self, _("Save to game comments"), self.saveIndexes, plano=False) pbSave.ponIcono(Iconos.Grabar()) ly0 = Colocacion.H().control(pbSave).relleno() ly = Colocacion.V().control(lbIndexes).otro(ly0).relleno() wIdx = QtGui.QWidget() wIdx.setLayout(ly) tabGrid = Controles.Tab().ponPosicion("W") tabGrid.nuevaTab(gridAll, _("All moves")) tabGrid.nuevaTab(gridW, _("White")) tabGrid.nuevaTab(gridB, _("Black")) tabGrid.nuevaTab(wIdx, _("Indexes")) confTablero = VarGen.configuracion.confTablero("ANALISISGRAPH", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) layout = Colocacion.H().control(tabGrid).control( self.tablero).margen(0) w.setLayout(layout) tabGen.nuevaTab(w, _("Data")) tabGraph = Controles.Tab().ponPosicion("W") tabGen.nuevaTab(tabGraph, _("Graphics")) tab = Controles.Tab() tab.nuevaTab(alm.game, _("Total")) tab.nuevaTab(alm.gameDif, _("Lost points")) tabGraph.nuevaTab(tab, _("All moves")) tab = Controles.Tab() tab.nuevaTab(alm.white, _("Total")) tab.nuevaTab(alm.whiteDif, _("Lost points")) tabGraph.nuevaTab(tab, _("White")) tab = Controles.Tab() tab.nuevaTab(alm.black, _("Total")) tab.nuevaTab(alm.blackDif, _("Lost points")) tabGraph.nuevaTab(tab, _("Black")) layout = Colocacion.V().control(tabGen).margen(8) self.setLayout(layout) self.recuperarVideo(siTam=True, anchoDefecto=960, altoDefecto=600) gridAll.gotop() gridB.gotop() gridW.gotop() self.gridBotonIzquierdo(gridAll, 0, None)