Ejemplo n.º 1
0
    def __init__(self, wparent, partida):
        self.partida = partida

        self.wparent = wparent
        self.configuracion = configuracion = VarGen.configuracion
        QtGui.QWidget.__init__(self, wparent)

        liAcciones = (
            (_("Save"), Iconos.Grabar(), self.save),
            None,
            (_("Cancel"), Iconos.Cancelar(), self.wparent.cancelar),
            None,
            (_("Start position"), Iconos.Datos(), self.inicial),
            None,
            (_("Clear"), Iconos.Borrar(), self.limpia),
            None,
            (_("Take back"), Iconos.Atras(), self.atras),
            None,
        )

        self.tb = Controles.TBrutina(self,
                                     liAcciones,
                                     siTexto=False,
                                     tamIcon=20)

        confTablero = configuracion.confTablero("VOYAGERPGN", 24)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponMensajero(self.mueveHumano)
        Delegados.generaPM(self.tablero.piezas)

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True)
        self.siFigurinesPGN = configuracion.figurinesPGN
        nAnchoColor = (self.tablero.ancho - 35 - 20) / 2
        oColumnas.nueva("BLANCAS",
                        _("White"),
                        nAnchoColor,
                        edicion=Delegados.EtiquetaPGN(
                            True if self.siFigurinesPGN else None))
        oColumnas.nueva("NEGRAS",
                        _("Black"),
                        nAnchoColor,
                        edicion=Delegados.EtiquetaPGN(
                            False if self.siFigurinesPGN else None))
        self.pgn = Grid.Grid(self,
                             oColumnas,
                             siCabeceraMovible=False,
                             siSelecFilas=True)
        self.pgn.setMinimumWidth(self.tablero.ancho)

        ly = Colocacion.V().control(self.tb).control(self.tablero)
        ly.control(self.pgn)
        ly.margen(1)
        self.setLayout(ly)

        self.tablero.ponPosicion(self.partida.ultPosicion)
        self.siguienteJugada()
Ejemplo n.º 2
0
    def __init__(self, wparent, game):
        self.game = game

        self.wparent = wparent
        self.configuration = configuration = Code.configuration
        QtWidgets.QWidget.__init__(self, wparent)

        li_acciones = (
            (_("Save"), Iconos.Grabar(), self.save),
            None,
            (_("Cancel"), Iconos.Cancelar(), self.wparent.cancelar),
            None,
            (_("Start position"), Iconos.Datos(), self.inicial),
            None,
            (_("Clear"), Iconos.Borrar(), self.limpia),
            None,
            (_("Take back"), Iconos.Atras(), self.atras),
            None,
        )

        self.tb = Controles.TBrutina(self,
                                     li_acciones,
                                     with_text=False,
                                     icon_size=20)

        config_board = configuration.config_board("VOYAGERPGN", 24)
        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.set_dispatcher(self.player_has_moved)
        Delegados.generaPM(self.board.piezas)

        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("NUMBER", _("N."), 35, centered=True)
        self.si_figurines_pgn = configuration.x_pgn_withfigurines
        nAnchoColor = (self.board.ancho - 35 - 20) // 2
        o_columns.nueva("WHITE",
                        _("White"),
                        nAnchoColor,
                        edicion=Delegados.EtiquetaPGN(
                            True if self.si_figurines_pgn else None))
        o_columns.nueva("BLACK",
                        _("Black"),
                        nAnchoColor,
                        edicion=Delegados.EtiquetaPGN(
                            False if self.si_figurines_pgn else None))
        self.pgn = Grid.Grid(self,
                             o_columns,
                             siCabeceraMovible=False,
                             siSelecFilas=True)
        self.pgn.setMinimumWidth(self.board.ancho)

        ly = Colocacion.V().control(self.tb).control(self.board)
        ly.control(self.pgn)
        ly.margen(1)
        self.setLayout(ly)

        self.board.set_position(self.game.last_position)
        self.play_next_move()
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    def creaBloqueInformacion(self):
        configuration = self.manager.configuration
        width_pgn = configuration.x_pgn_width
        with_each_color = (width_pgn - 52 - 24) // 2
        nAnchoLabels = max(int((width_pgn - 3) // 2), 140)
        # # Pgn
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("NUMBER", _("N."), 52, centered=True)
        si_figurines_pgn = configuration.x_pgn_withfigurines
        o_columns.nueva(
            "WHITE",
            _("White"),
            with_each_color,
            edicion=Delegados.EtiquetaPGN(True if si_figurines_pgn else None))
        o_columns.nueva(
            "BLACK",
            _("Black"),
            with_each_color,
            edicion=Delegados.EtiquetaPGN(False if si_figurines_pgn else None))
        self.pgn = Grid.Grid(self, o_columns, siCabeceraMovible=False)
        self.pgn.setMinimumWidth(width_pgn)
        self.pgn.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.pgn.tipoLetra(puntos=configuration.x_pgn_fontpoints)
        self.pgn.ponAltoFila(configuration.x_pgn_rowheight)
        self.pgn.set_right_button_without_rows(True)

        # # Blancas y negras
        f = Controles.TipoLetra(puntos=configuration.x_sizefont_infolabels + 2,
                                peso=75)
        self.lb_player_white = Controles.LB(self).anchoFijo(
            nAnchoLabels).align_center().ponFuente(f).set_wrap()
        style = "QWidget { border-style: groove; border-width: 2px; border-color: Gray; padding: 4px 4px 4px 4px;background-color:%s;color:%s;}"
        self.lb_player_white.setStyleSheet(style % ("white", "black"))

        self.lb_player_black = Controles.LB(self).anchoFijo(
            nAnchoLabels).align_center().ponFuente(f).set_wrap()
        self.lb_player_black.setStyleSheet(style % ("black", "white"))

        # # Capturas
        n_alto_fijo = 3 * (configuration.x_sizefont_infolabels + 2)
        self.lb_capt_white = Controles.LB(self).anchoFijo(
            nAnchoLabels).set_wrap().altoFijo(n_alto_fijo)
        style = "QWidget { border-style: groove; border-width: 1px; border-color: LightGray; padding: 2px 0px 2px 0px;}"
        self.lb_capt_white.setStyleSheet(style)

        self.lb_capt_black = Controles.LB(self).anchoFijo(
            nAnchoLabels).set_wrap().altoFijo(n_alto_fijo)
        self.lb_capt_black.setStyleSheet(style)

        # Relojes
        f = Controles.TipoLetra("Arial Black", puntos=26, peso=75)

        def lbReloj():
            lb = (Controles.LB(
                self,
                "00:00").ponFuente(f).align_center().set_foreground_backgound(
                    "#076C9F", "#EFEFEF").anchoMinimo(nAnchoLabels))
            lb.setFrameStyle(QtWidgets.QFrame.Box | QtWidgets.QFrame.Raised)
            return lb

        self.lb_clock_white = lbReloj()
        self.lb_clock_black = lbReloj()

        f = Controles.TipoLetra(puntos=12)
        # Boton de tutor activo
        self.bt_active_tutor = Controles.PB(self,
                                            "",
                                            rutina=self.cambiaSiActivarTutor,
                                            plano=False).ponFuente(f)

        # Rotulos de informacion
        f = Controles.TipoLetra(puntos=configuration.x_sizefont_infolabels)
        self.lbRotulo1 = Controles.LB(self).set_wrap().ponFuente(f)
        self.lbRotulo2 = Controles.LB(self).set_wrap().ponFuente(f)
        f9 = Controles.TipoLetra(puntos=9)
        self.lbRotulo3 = Controles.LB(self).set_wrap().ponFuente(f9)
        self.lbRotulo3.setStyleSheet("*{ border: 1px solid darkgray }")
        self.lbRotulo3.altoFijo(48)

        # Lo escondemos
        self.lb_player_white.hide()
        self.lb_player_black.hide()
        self.lb_capt_white.hide()
        self.lb_capt_black.hide()
        self.lb_clock_white.hide()
        self.lb_clock_black.hide()
        self.lb_capt_white.hide()
        self.lb_capt_black.hide()
        self.pgn.hide()
        self.bt_active_tutor.hide()
        self.lbRotulo1.hide()
        self.lbRotulo2.hide()
        self.lbRotulo3.hide()

        # Layout

        # Arriba
        ly_color = Colocacion.G()
        ly_color.controlc(self.lb_player_white, 0,
                          0).controlc(self.lb_player_black, 0, 1)
        ly_color.controlc(self.lb_clock_white, 2,
                          0).controlc(self.lb_clock_black, 2, 1)

        # Abajo
        ly_capturas = Colocacion.H().control(self.lb_capt_white).control(
            self.lb_capt_black)

        ly_abajo = Colocacion.V()
        ly_abajo.setSizeConstraint(ly_abajo.SetFixedSize)
        ly_abajo.otro(ly_capturas)
        ly_abajo.control(self.bt_active_tutor)
        ly_abajo.control(self.lbRotulo1).control(self.lbRotulo2).control(
            self.lbRotulo3)

        ly_v = Colocacion.V().otro(ly_color).control(self.pgn)
        ly_v.otro(ly_abajo)

        return ly_v
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    def crea_bloque_informacion(self):
        configuracion = Code.configuracion
        n_ancho_pgn = configuracion.x_pgn_width
        n_ancho_color = (n_ancho_pgn - 52 - 24) // 2
        n_ancho_labels = max(int((n_ancho_pgn - 3) // 2), 140)
        # # Pgn
        o_columnas = Columnas.ListaColumnas()
        o_columnas.nueva("NUMERO", _("N."), 52, centered=True)
        si_figurines_pgn = configuracion.x_pgn_withfigurines
        o_columnas.nueva(
            "BLANCAS",
            _("White"),
            n_ancho_color,
            edicion=Delegados.EtiquetaPGN(True if si_figurines_pgn else None))
        o_columnas.nueva(
            "NEGRAS",
            _("Black"),
            n_ancho_color,
            edicion=Delegados.EtiquetaPGN(False if si_figurines_pgn else None))
        self.grid_pgn = Grid.Grid(self, o_columnas, siCabeceraMovible=False)
        self.grid_pgn.setMinimumWidth(n_ancho_pgn)
        self.grid_pgn.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.grid_pgn.tipoLetra(puntos=configuracion.x_pgn_fontpoints)
        self.grid_pgn.ponAltoFila(configuracion.x_pgn_rowheight)

        # # Blancas y negras
        f = Controles.TipoLetra(puntos=configuracion.x_sizefont_infolabels + 2,
                                peso=75)
        bl, ng = "", ""
        alto_lb = 48
        self.lb_player = {}
        for side in (WHITE, BLACK):
            self.lb_player[side] = Controles.LB(
                self, bl).anchoFijo(n_ancho_labels).altoFijo(alto_lb)
            self.lb_player[side].alinCentrado().ponFuente(f).ponWrap()
            self.lb_player[side].setFrameStyle(QtWidgets.QFrame.Box
                                               | QtWidgets.QFrame.Raised)
        self.lb_player[WHITE].ponColorFondoN("black", "white")
        self.lb_player[BLACK].ponColorFondoN("white", "black")

        # Relojes
        f = Controles.TipoLetra("Arial Black", puntos=26, peso=75)

        self.lb_reloj = {}
        for side in (WHITE, BLACK):
            self.lb_reloj[side] = (Controles.LB(
                self, "00:00").ponFuente(f).alinCentrado().ponColorFondoN(
                    "#076C9F", "#EFEFEF").anchoMinimo(n_ancho_labels))
            self.lb_reloj[side].setFrameStyle(QtWidgets.QFrame.Box
                                              | QtWidgets.QFrame.Raised)

        # Rotulos de informacion
        f = Controles.TipoLetra(puntos=configuracion.x_sizefont_infolabels)
        self.lbRotulo3 = Controles.LB(self).ponWrap().ponFuente(f)

        # Layout
        lyColor = Colocacion.G()
        lyColor.controlc(self.lb_player[WHITE], 0,
                         0).controlc(self.lb_player[BLACK], 0, 1)
        lyColor.controlc(self.lb_reloj[WHITE], 1,
                         0).controlc(self.lb_reloj[BLACK], 1, 1)

        # Abajo
        lyAbajo = Colocacion.V()
        lyAbajo.setSizeConstraint(lyAbajo.SetFixedSize)
        lyAbajo.control(self.lbRotulo3)

        lyV = Colocacion.V().otro(lyColor).control(self.grid_pgn)
        lyV.otro(lyAbajo).margen(7)

        return lyV
Ejemplo n.º 11
0
    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)
Ejemplo n.º 12
0
    def creaBloqueInformacion(self):
        nAnchoPgn = self.gestor.configuracion.anchoPGN
        nAnchoColor = (nAnchoPgn - 35 - 20) / 2
        nAnchoLabels = max(int((nAnchoPgn - 3) / 2), 140)
        # # Pgn
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True)
        configuracion = self.gestor.configuracion
        siFigurinesPGN = configuracion.figurinesPGN
        oColumnas.nueva(
            "BLANCAS",
            _("White"),
            nAnchoColor,
            edicion=Delegados.EtiquetaPGN(True if siFigurinesPGN else None))
        oColumnas.nueva(
            "NEGRAS",
            _("Black"),
            nAnchoColor,
            edicion=Delegados.EtiquetaPGN(False if siFigurinesPGN else None))
        self.pgn = Grid.Grid(self, oColumnas, siCabeceraMovible=False)
        self.pgn.setMinimumWidth(nAnchoPgn)
        self.pgn.tipoLetra(puntos=configuracion.puntosPGN)
        self.pgn.ponAltoFila(configuracion.altoFilaPGN)

        # # Blancas y negras
        f = Controles.TipoLetra(
            puntos=self.gestor.configuracion.tamFontRotulos + 2, peso=75)
        bl, ng = _("White"), _("Black")
        self.lbJugBlancas = Controles.LB(self, bl).anchoFijo(
            nAnchoLabels).alinCentrado().ponFuente(f).ponColorFondoN(
                "black", "white").ponWrap()
        self.lbJugNegras = Controles.LB(self, ng).anchoFijo(
            nAnchoLabels).alinCentrado().ponFuente(f).ponColorFondoN(
                "white", "black").ponWrap()
        self.lbJugBlancas.setFrameStyle(QtGui.QFrame.Box | QtGui.QFrame.Raised)
        self.lbJugNegras.setFrameStyle(QtGui.QFrame.Box | QtGui.QFrame.Raised)

        # Relojes
        f = Controles.TipoLetra("Arial Black", puntos=26, peso=75)

        def lbReloj():
            lb = Controles.LB(
                self, "00:00").ponFuente(f).alinCentrado().ponColorFondoN(
                    "#076C9F", "#EFEFEF").anchoMinimo(nAnchoLabels)
            lb.setFrameStyle(QtGui.QFrame.Box | QtGui.QFrame.Raised)
            return lb

        self.lbRelojBlancas = lbReloj()
        self.lbRelojNegras = lbReloj()

        # Revisando
        f = Controles.TipoLetra(puntos=14, peso=75)
        self.lbRevision = Controles.LB(
            self,
            _("Reviewing...")).alinCentrado().ponFuente(f).ponFondoN("#b3b3b3")

        # Ayudas
        self.ayudasUD = QTVarios.LCNumero(3)

        f = Controles.TipoLetra(puntos=12)
        self.lbCredito = Controles.LB(self,
                                      _("Available hints") +
                                      " :   ").alinCentrado().ponFuente(f)

        # Boton de tutor activo
        self.btActivarTutor = Controles.PB(
            self, "", rutina=self.cambiaSiActivarTutor,
            plano=False)  # .anchoFijo( nAnchoPgn )

        # Rotulos de informacion
        f = Controles.TipoLetra(
            puntos=self.gestor.configuracion.tamFontRotulos)
        self.lbRotulo1 = Controles.LB(self).ponWrap().ponFuente(f)
        self.lbRotulo2 = Controles.LB(self).ponWrap().ponFuente(f)
        f9 = Controles.TipoLetra(puntos=9)
        self.lbRotulo3 = Controles.LB(self).ponWrap().ponFuente(f9)
        # self.lbRotulo1.setStyleSheet("*{ border: 1px solid darkgray }")
        # self.lbRotulo2.setStyleSheet("*{ border: 1px solid darkgray }")
        self.lbRotulo3.setStyleSheet("*{ border: 1px solid darkgray }")
        self.lbRotulo3.altoFijo(48)

        # Lo escondemos
        self.lbJugBlancas.hide()
        self.lbJugNegras.hide()
        self.lbRelojBlancas.hide()
        self.lbRelojNegras.hide()
        self.pgn.hide()
        self.lbRevision.hide()
        self.ayudasUD.hide()
        self.lbCredito.hide()
        self.btActivarTutor.hide()
        self.lbRotulo1.hide()
        self.lbRotulo2.hide()
        self.lbRotulo3.hide()

        # Layout

        # Remoto
        lyColor = Colocacion.G()
        lyColor.controlc(self.lbJugBlancas, 0,
                         0).controlc(self.lbJugNegras, 0, 1)
        lyColor.controlc(self.lbRelojBlancas, 1,
                         0).controlc(self.lbRelojNegras, 1, 1)

        # Ayudas
        lyAyudas = Colocacion.H().relleno().control(self.lbCredito).control(
            self.ayudasUD).relleno().ponSeparacion(1)

        # Abajo
        lyAbajo = Colocacion.V()
        lyAbajo.setSizeConstraint(lyAbajo.SetFixedSize)
        lyAbajo.control(self.lbRevision).otro(lyAyudas).control(
            self.btActivarTutor)
        lyAbajo.control(self.lbRotulo1).control(self.lbRotulo2).control(
            self.lbRotulo3)

        lyV = Colocacion.V().otro(lyColor).control(self.pgn)
        lyV.otro(lyAbajo)

        return lyV