コード例 #1
0
 def create_board(name, si=True, siLibre=True, siMas=False):
     if not si:
         return None, None, None
     board = Board.Board(self, config_board)
     board.crea()
     board.ponerPiezasAbajo(is_white)
     lytb, tb = QTVarios.lyBotonesMovimiento(self, name, siLibre, siMas=siMas)
     return board, lytb, tb
コード例 #2
0
ファイル: PantallaTutor.py プロジェクト: JERUKA9/lucaschess
 def creaTablero(nombre, si=True, siLibre=True, siPunto=False):
     if not si:
         return None, None, None
     tablero = Tablero.Tablero(self, confTablero)
     tablero.crea()
     tablero.ponerPiezasAbajo(siBlancas)
     lytb, tb = QTVarios.lyBotonesMovimiento(self, nombre, siLibre)
     return tablero, lytb, tb
コード例 #3
0
 def creaTablero(nombre, si=True, siLibre=True, siMas=False):
     if not si:
         return None, None, None
     tablero = Tablero.Tablero(self, confTablero)
     tablero.crea()
     tablero.ponerPiezasAbajo(siBlancas)
     lytb, tb = QTVarios.lyBotonesMovimiento(self, nombre, siLibre, siMas=siMas)
     return tablero, lytb, tb
コード例 #4
0
ファイル: WindowJuicio.py プロジェクト: gamaBHC/lucaschessR
    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()
コード例 #5
0
    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()
コード例 #6
0
ファイル: PantallaJuicio.py プロジェクト: JERUKA9/lucaschess
    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()
コード例 #7
0
ファイル: PantallaTutor.py プロジェクト: xaizek/lucaschessR
 def creaTablero(name, si=True, siLibre=True, siMas=False):
     if not si:
         return None, None, None
     tablero = Tablero.Tablero(self, config_board)
     tablero.crea()
     tablero.ponerPiezasAbajo(is_white)
     lytb, tb = QTVarios.lyBotonesMovimiento(self,
                                             name,
                                             siLibre,
                                             siMas=siMas)
     return tablero, lytb, tb
コード例 #8
0
    def __init__(self, oBase, ventana, segundosPensando, siBlancas, cPuntos, maxRecursion):
        super(WAnalisisVariantes, self).__init__(ventana)

        self.oBase = oBase

        # Creamos los controles
        self.setWindowTitle(_("Variants"))

        self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowCloseButtonHint  )
        self.setWindowIcon(Iconos.Tutor())

        f = Controles.TipoLetra(puntos=12, peso=75)
        flb = Controles.TipoLetra(puntos=10)

        lbPuntuacionAnterior = Controles.LB(self, cPuntos).alinCentrado().ponFuente(flb)
        self.lbPuntuacionNueva = Controles.LB(self).alinCentrado().ponFuente(flb)

        confTablero = VarGen.configuracion.confTablero("ANALISISVARIANTES", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(siBlancas)

        self.tableroT = Tablero.Tablero(self, confTablero)
        self.tableroT.crea()
        self.tableroT.ponerPiezasAbajo(siBlancas)

        btTerminar = Controles.PB(self, _("Close"), self.close).ponPlano(False)
        btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono(Iconos.MoverLibre()).ponPlano(False)
        liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),)
        lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=maxRecursion > 0,
                                                          liMasAcciones=liMasAcciones)
        self.maxRecursion = maxRecursion - 1

        self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)"))

        # Creamos los layouts

        lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(self.tablero)
        gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).alinCentrado()

        lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(self.tableroT)
        gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).alinCentrado()

        lyBT = Colocacion.H().control(btTerminar).control(btReset).relleno().control(lbSegundos).control(self.segundos)

        layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1)
        layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1)

        self.setLayout(layout)

        self.move(ventana.x() + 20, ventana.y() + 20)
コード例 #9
0
    def __init__(self, oBase, ventana, segundosPensando, siBlancas, cPuntos, maxRecursion):
        super(WAnalisisVariantes, self).__init__(ventana)

        self.oBase = oBase

        # Creamos los controles
        self.setWindowTitle(_("Variants"))

        self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint)
        self.setWindowIcon(Iconos.Tutor())

        f = Controles.TipoLetra(puntos=12, peso=75)
        flb = Controles.TipoLetra(puntos=10)

        lbPuntuacionAnterior = Controles.LB(self, cPuntos).alinCentrado().ponFuente(flb)
        self.lbPuntuacionNueva = Controles.LB(self).alinCentrado().ponFuente(flb)

        confTablero = VarGen.configuracion.confTablero("ANALISISVARIANTES", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(siBlancas)

        self.tableroT = Tablero.Tablero(self, confTablero)
        self.tableroT.crea()
        self.tableroT.ponerPiezasAbajo(siBlancas)

        btTerminar = Controles.PB(self, _("Quit"), self.close).ponPlano(False)
        btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono(Iconos.MoverLibre()).ponPlano(False)
        liMasAcciones = ( ("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),)
        lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=maxRecursion > 0,
                                                          liMasAcciones=liMasAcciones)
        self.maxRecursion = maxRecursion - 1

        self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)"))

        # Creamos los layouts

        lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(self.tablero)
        gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).alinCentrado()

        lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(self.tableroT)
        gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).alinCentrado()

        lyBT = Colocacion.H().control(btTerminar).control(btReset).relleno().control(lbSegundos).control(self.segundos)

        layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1)
        layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1)

        self.setLayout(layout)

        self.move(ventana.x() + 20, ventana.y() + 20)
コード例 #10
0
ファイル: WDB_InfoMove.py プロジェクト: gamaBHC/lucaschessR
    def __init__(self, wb_database):
        QtWidgets.QWidget.__init__(self)

        self.wb_database = wb_database
        self.movActual = None

        configuration = Code.configuration
        config_board = configuration.config_board("INFOMOVE", 32)
        self.board = BoardKey(self, config_board)
        self.board.dispatchSize(self.cambiado_board)
        self.board.crea()
        self.board.ponerPiezasAbajo(True)
        self.board.disable_hard_focus()  # Para que los movimientos con el teclado from_sq grid wgames no cambien el foco
        self.cpActual = Position.Position()
        self.historia = None
        self.posHistoria = None

        self.intervalo = configuration.x_interval_replay

        lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, icon_size=24)

        self.lbPGN = LBKey(self).anchoFijo(self.board.ancho).set_wrap()
        self.lbPGN.wowner = self
        self.lbPGN.ponTipoLetra(puntos=configuration.x_pgn_fontpoints + 2)
        self.lbPGN.setStyleSheet(
            "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 2px 16px 6px 2px;}"
        )
        self.lbPGN.setOpenExternalLinks(False)

        def muestraPos(txt):
            self.colocatePartida(int(txt))

        self.lbPGN.linkActivated.connect(muestraPos)

        scroll = QtWidgets.QScrollArea()
        scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        scroll.setWidgetResizable(True)
        scroll.setFrameStyle(QtWidgets.QFrame.NoFrame)

        ly = Colocacion.V().control(self.lbPGN).relleno(1).margen(0)
        w = QtWidgets.QWidget()
        w.setLayout(ly)
        scroll.setWidget(w)

        self.with_figurines = configuration.x_pgn_withfigurines

        self.lb_opening = Controles.LB(self).align_center().anchoFijo(self.board.ancho).set_wrap()
        self.lb_opening.ponTipoLetra(puntos=10, peso=200)
        lyO = Colocacion.H().relleno().control(self.lb_opening).relleno()

        lya = Colocacion.H().relleno().control(scroll).relleno()

        layout = Colocacion.G()
        layout.controlc(self.board, 0, 0)
        layout.otroc(lybt, 1, 0)
        layout.otro(lyO, 2, 0)
        layout.otro(lya, 3, 0)
        self.setLayout(layout)

        self.usoNormal = True

        self.siReloj = False
コード例 #11
0
    def __init__(self, panelOpening, configuracion):
        QtWidgets.QWidget.__init__(self)

        self.panelOpening = panelOpening
        self.dbop = panelOpening.dbop

        self.configuracion = configuracion

        self.partidabase = panelOpening.partidabase
        self.num_jg_inicial = len(self.partidabase)
        self.pos_move = self.num_jg_inicial

        config_board = configuracion.config_board("POSLINES", 32)
        self.tablero = Tablero.Tablero(self, config_board)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        self.tablero.set_dispatcher(self.mueve_humano)
        self.tablero.dispatchSize(self.ajustaAncho)
        self.tablero.dbVisual_setFichero(self.dbop.nom_fichero)
        self.tablero.dbVisual_setShowAllways(True)
        self.tablero.dbVisual_setSaveAllways(True)

        self.tablero.ponerPiezasAbajo(self.dbop.getconfig("WHITEBOTTOM", True))

        self.dbop.setdbVisual_Tablero(self.tablero)  # To close

        self.intervalo = configuracion.x_interval_replay

        tipoLetra = Controles.TipoLetra(puntos=configuracion.x_pgn_fontpoints)

        lybt, bt = QTVarios.lyBotonesMovimiento(self,
                                                "",
                                                siTiempo=True,
                                                siLibre=False,
                                                tamIcon=24)

        self.lbPGN = Controles.LB(self).ponWrap()
        self.lbPGN.colocate = self.colocatePartida
        self.lbPGN.setStyleSheet(
            "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}"
        )
        self.lbPGN.ponFuente(tipoLetra)
        self.lbPGN.setOpenExternalLinks(False)

        def muestraPos(txt):
            self.colocatePartida(int(txt))

        self.lbPGN.linkActivated.connect(muestraPos)

        self.siFigurines = configuracion.x_pgn_withfigurines

        dicNAGs = TrListas.dicNAGs()
        self.dicValoracion = collections.OrderedDict()
        self.dicValoracion[GOOD_MOVE] = (dicNAGs[1],
                                         PantallaColores.nag2ico(1, 16))
        self.dicValoracion[BAD_MOVE] = (dicNAGs[2],
                                        PantallaColores.nag2ico(2, 16))
        self.dicValoracion[VERY_GOOD_MOVE] = (dicNAGs[3],
                                              PantallaColores.nag2ico(3, 16))
        self.dicValoracion[VERY_POOR_MOVE] = (dicNAGs[4],
                                              PantallaColores.nag2ico(4, 16))
        self.dicValoracion[SPECULATIVE_MOVE] = (dicNAGs[5],
                                                PantallaColores.nag2ico(5, 16))
        self.dicValoracion[QUESTIONABLE_MOVE] = (dicNAGs[6],
                                                 PantallaColores.nag2ico(
                                                     6, 16))
        self.dicValoracion[NO_RATING] = (_("No rating"), QtGui.QIcon())

        self.dicVentaja = collections.OrderedDict()
        self.dicVentaja[V_SIN] = (_("Undefined"), QtGui.QIcon())
        self.dicVentaja[V_IGUAL] = (dicNAGs[11],
                                    Iconos.V_Blancas_Igual_Negras())
        self.dicVentaja[V_BLANCAS] = (dicNAGs[14], Iconos.V_Blancas())
        self.dicVentaja[V_BLANCAS_MAS] = (dicNAGs[16], Iconos.V_Blancas_Mas())
        self.dicVentaja[V_BLANCAS_MAS_MAS] = (dicNAGs[18],
                                              Iconos.V_Blancas_Mas_Mas())
        self.dicVentaja[V_NEGRAS] = (dicNAGs[15], Iconos.V_Negras())
        self.dicVentaja[V_NEGRAS_MAS] = (dicNAGs[17], Iconos.V_Negras_Mas())
        self.dicVentaja[V_NEGRAS_MAS_MAS] = (dicNAGs[19],
                                             Iconos.V_Negras_Mas_Mas())

        # Valoracion
        li_options = [(tit[0], k, tit[1])
                      for k, tit in self.dicValoracion.items()]
        self.cbValoracion = Controles.CB(self, li_options, 0).capturaCambiado(
            self.cambiadoValoracion)
        self.cbValoracion.ponFuente(tipoLetra)

        # Ventaja
        li_options = [(tit, k, icon)
                      for k, (tit, icon) in self.dicVentaja.items()]
        self.cbVentaja = Controles.CB(self, li_options,
                                      0).capturaCambiado(self.cambiadoVentaja)
        self.cbVentaja.ponFuente(tipoLetra)

        # Comentario
        self.emComentario = Controles.EM(self, siHTML=False).capturaCambios(
            self.cambiadoComentario)
        self.emComentario.ponFuente(tipoLetra)
        self.emComentario.altoFijo(5 * configuracion.x_pgn_rowheight)
        lyVal = Colocacion.H().control(self.cbValoracion).control(
            self.cbVentaja)
        lyEd = Colocacion.V().otro(lyVal).control(self.emComentario)

        # Apertura
        self.lbApertura = Controles.LB(self).alinCentrado().ponFuente(
            tipoLetra).ponWrap()

        lyt = Colocacion.H().relleno().control(self.tablero).relleno()

        lya = Colocacion.H().relleno().control(self.lbPGN).relleno()

        layout = Colocacion.V()
        layout.otro(lyt)
        layout.otro(lybt)
        layout.otro(lya)
        layout.otro(lyEd)
        layout.control(self.lbApertura)
        layout.relleno().margen(0)
        self.setLayout(layout)

        self.ajustaAncho()

        self.siReloj = False

        self.ponPartida(self.partidabase)
コード例 #12
0
    def __init__(self, mAnalisis, ventana, siBlancas, siLibre, siGrabar, muestraInicial):
        titulo = _("Analysis")
        icono = Iconos.Tutor()
        extparam = "analysis"

        QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam)

        self.mAnalisis = mAnalisis
        self.muestraActual = None

        confTablero = VarGen.configuracion.confTablero("ANALISIS", 48)
        self.siLibre = siLibre
        self.siGrabar = siGrabar
        self.siBlancas = siBlancas

        tbWork = Controles.TBrutina(self, tamIcon=24)
        tbWork.new( _("Close"), Iconos.MainMenu(), self.terminar )
        tbWork.new( _("New"), Iconos.NuevoMas(), self.crear )

        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(siBlancas)

        self.lbMotor = Controles.LB(self).alinCentrado()
        self.lbTiempo = Controles.LB(self).alinCentrado()
        self.lbPuntuacion = Controles.LB(self).alinCentrado().ponTipoLetra(puntos=10, peso=75)
        self.lbPGN = Controles.LB(self).ponTipoLetra(peso=75).ponWrap()

        self.setStyleSheet("QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}")

        liMasAcciones = ( ("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),)
        lytb, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=siLibre,
                                                     siGrabar=siGrabar,
                                                     siGrabarTodos=siGrabar,
                                                     siJugar=mAnalisis.maxRecursion > 10,
                                                     liMasAcciones=liMasAcciones)

        lyTabl = Colocacion.H().relleno().control(self.tablero).relleno()

        lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control(self.lbMotor).control(self.lbTiempo)

        lyV = Colocacion.V()
        lyV.control(tbWork)
        lyV.otro(lyTabl)
        lyV.otro(lytb)
        lyV.otro(lyMotor)
        lyV.control(self.lbPGN)
        lyV.relleno()

        wm = WMuestra(self, muestraInicial)
        muestraInicial.wmu = wm

        # Layout
        self.ly = Colocacion.H().margen(10)
        self.ly.otro(lyV)
        self.ly.control(wm)

        lyM = Colocacion.H().margen(0).otro(self.ly).relleno()

        layout = Colocacion.V()
        layout.otro(lyM)
        layout.margen(3)
        layout.setSpacing(1)
        self.setLayout(layout)

        self.recuperarVideo(siTam=False)
        self.show()
        wm.cambiadoRM(muestraInicial.posElegida)
        self.activaMuestra(muestraInicial)
コード例 #13
0
ファイル: WBG_InfoMove.py プロジェクト: garyliu33/lucaschess
    def __init__(self, winBookGuide, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.siMoves = siMoves
        self.winBookGuide = winBookGuide
        if self.siMoves:
            self.tree = winBookGuide.wmoves.tree
        else:
            self.tree = None
        self.movActual = None

        confTablero = VarGen.configuracion.confTablero("INFOMOVEBOOKGUIDE", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        self.tablero.ponMensajero(self.mueveHumano)
        self.cpActual = ControlPosicion.ControlPosicion()
        self.historia = None
        self.posHistoria = None

        self.intervalo = 1400

        lybt, bt = QTVarios.lyBotonesMovimiento(self,
                                                "",
                                                siTiempo=True,
                                                siLibre=False,
                                                tamIcon=24)

        self.lbPGN = LBPGN("").anchoFijo(self.tablero.ancho).ponWrap()
        self.lbPGN.colocate = self.colocatePartida

        if siMoves:
            tree = winBookGuide.wmoves.tree
            # Valoracion
            liOpciones = [(tit[0], k, tit[1])
                          for k, tit in tree.dicValoracion.iteritems()]
            self.lbValoracion = Controles.LB(self, _("Rating") + ":")
            self.cbValoracion = Controles.CB(
                self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion)

            # Ventaja
            liOpciones = [(tit, k, icon)
                          for k, (tit, icon) in tree.dicVentaja.iteritems()]
            self.lbVentaja = Controles.LB(self, _("Advantage") + ":")
            self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado(
                self.cambiadoVentaja)

            # Comentario
            self.emComentario = Controles.EM(
                self, siHTML=False).capturaCambios(self.cambiadoComentario)

            lyVal = Colocacion.H().control(self.lbValoracion).control(
                self.cbValoracion).relleno()
            lyVen = Colocacion.H().control(self.lbVentaja).control(
                self.cbVentaja).relleno()
            lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control(
                self.emComentario)

        lyt = Colocacion.H().relleno().control(self.tablero).relleno()

        lya = Colocacion.H().relleno().control(self.lbPGN).relleno()

        layout = Colocacion.V()
        layout.otro(lyt)
        layout.otro(lybt)
        layout.otro(lya)
        if siMoves:
            layout.otro(lyEd)
        layout.relleno()
        self.setLayout(layout)

        self.usoNormal = True

        self.siReloj = False
コード例 #14
0
    def __init__(self, winBookGuide, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.siMoves = siMoves
        self.winBookGuide = winBookGuide
        if self.siMoves:
            self.tree = winBookGuide.wmoves.tree
        else:
            self.tree = None
        self.movActual = None

        configuracion = VarGen.configuracion
        confTablero = configuracion.confTablero("INFOMOVEBOOKGUIDE", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        self.tablero.ponMensajero(self.mueveHumano)
        self.cpActual = ControlPosicion.ControlPosicion()
        self.historia = None
        self.posHistoria = None

        self.intervalo = 1400

        lybt, bt = QTVarios.lyBotonesMovimiento(self,
                                                "",
                                                siTiempo=True,
                                                siLibre=False,
                                                tamIcon=24)

        self.lbPGN = Controles.LB(self).anchoFijo(self.tablero.ancho).ponWrap()
        self.lbPGN.colocate = self.colocatePartida
        self.lbPGN.setStyleSheet(
            "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}"
        )
        self.lbPGN.ponTipoLetra(puntos=configuracion.puntosPGN)
        self.lbPGN.setOpenExternalLinks(False)

        def muestraPos(txt):
            self.colocatePartida(int(txt))

        self.connect(self.lbPGN, QtCore.SIGNAL("linkActivated(QString)"),
                     muestraPos)

        self.siFigurines = configuracion.figurinesPGN

        if siMoves:
            tree = winBookGuide.wmoves.tree
            # Valoracion
            liOpciones = [(tit[0], k, tit[1])
                          for k, tit in tree.dicValoracion.iteritems()]
            self.lbValoracion = Controles.LB(self, _("Rating") + ":")
            self.cbValoracion = Controles.CB(
                self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion)

            # Ventaja
            liOpciones = [(tit, k, icon)
                          for k, (tit, icon) in tree.dicVentaja.iteritems()]
            self.lbVentaja = Controles.LB(self, _("Advantage") + ":")
            self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado(
                self.cambiadoVentaja)

            # Comentario
            self.emComentario = Controles.EM(
                self, siHTML=False).capturaCambios(self.cambiadoComentario)

            lyVal = Colocacion.H().control(self.lbValoracion).control(
                self.cbValoracion).relleno()
            lyVen = Colocacion.H().control(self.lbVentaja).control(
                self.cbVentaja).relleno()
            lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control(
                self.emComentario)
        else:
            self.lbOpening = Controles.LB(self).alinCentrado().ponWrap()
            self.lbOpening.ponTipoLetra(puntos=10, peso=200)
            lyO = Colocacion.H().relleno().control(self.lbOpening).relleno()

        lyt = Colocacion.H().relleno().control(self.tablero).relleno()

        lya = Colocacion.H().relleno().control(self.lbPGN).relleno()

        layout = Colocacion.V()
        layout.otro(lyt)
        layout.otro(lybt)
        if not siMoves:
            layout.otro(lyO)
        layout.otro(lya)
        if siMoves:
            layout.otro(lyEd)
        layout.relleno()
        self.setLayout(layout)

        self.usoNormal = True

        self.siReloj = False
コード例 #15
0
ファイル: WBG_InfoMove.py プロジェクト: JERUKA9/lucaschess
    def __init__(self, winBookGuide, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.siMoves = siMoves
        self.winBookGuide = winBookGuide
        if self.siMoves:
            self.tree = winBookGuide.wmoves.tree
        else:
            self.tree = None
        self.movActual = None

        confTablero = VarGen.configuracion.confTablero("INFOMOVEBOOKGUIDE", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        self.tablero.ponMensajero(self.mueveHumano)
        self.cpActual = ControlPosicion.ControlPosicion()
        self.historia = None
        self.posHistoria = None

        self.intervalo = 1400

        lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24)

        self.lbPGN = LBPGN("").anchoFijo(self.tablero.ancho).ponWrap()
        self.lbPGN.colocate = self.colocatePartida

        if siMoves:
            tree = winBookGuide.wmoves.tree
            # Valoracion
            liOpciones = [( tit[0], k, tit[1] ) for k, tit in tree.dicValoracion.iteritems()]
            self.lbValoracion = Controles.LB(self, _("Rating") + ":")
            self.cbValoracion = Controles.CB(self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion)

            # Ventaja
            liOpciones = [( tit, k, icon ) for k, (tit, icon) in tree.dicVentaja.iteritems()]
            self.lbVentaja = Controles.LB(self, _("Advantage") + ":")
            self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado(self.cambiadoVentaja)

            # Comentario
            self.emComentario = Controles.EM(self, siHTML=False).capturaCambios(self.cambiadoComentario)

            lyVal = Colocacion.H().control(self.lbValoracion).control(self.cbValoracion).relleno()
            lyVen = Colocacion.H().control(self.lbVentaja).control(self.cbVentaja).relleno()
            lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control(self.emComentario)

        lyt = Colocacion.H().relleno().control(self.tablero).relleno()

        lya = Colocacion.H().relleno().control(self.lbPGN).relleno()

        layout = Colocacion.V()
        layout.otro(lyt)
        layout.otro(lybt)
        layout.otro(lya)
        if siMoves:
            layout.otro(lyEd)
        layout.relleno()
        self.setLayout(layout)

        self.usoNormal = True

        self.siReloj = False
コード例 #16
0
ファイル: POLBoard.py プロジェクト: vipmath/lucaschess
    def __init__(self, panelOpening, configuracion):
        QtGui.QWidget.__init__(self)

        self.panelOpening = panelOpening
        self.dbop = panelOpening.dbop

        self.partidabase = panelOpening.partidabase
        self.num_jg_inicial = len(self.partidabase)
        self.posJugada = self.num_jg_inicial

        confTablero = configuracion.confTablero("POSLINES", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        self.tablero.ponMensajero(self.mueveHumano)
        self.tablero.dispatchSize(self.ajustaAncho)
        self.tablero.dbVisual_setFichero(self.dbop.nomFichero)
        self.tablero.dbVisual_setShowAllways(True)

        self.dbop.setdbVisual_Tablero(self.tablero)  # To close

        self.intervalo = 1400

        tipoLetra = Controles.TipoLetra(puntos=configuracion.puntosPGN)

        lybt, bt = QTVarios.lyBotonesMovimiento(self,
                                                "",
                                                siTiempo=True,
                                                siLibre=False,
                                                tamIcon=24)

        self.lbPGN = Controles.LB(self).ponWrap()
        self.lbPGN.colocate = self.colocatePartida
        self.lbPGN.setStyleSheet(
            "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}"
        )
        self.lbPGN.ponFuente(tipoLetra)
        self.lbPGN.setOpenExternalLinks(False)

        def muestraPos(txt):
            self.colocatePartida(int(txt))

        self.connect(self.lbPGN, QtCore.SIGNAL("linkActivated(QString)"),
                     muestraPos)

        self.siFigurines = configuracion.figurinesPGN

        dicNAGs = TrListas.dicNAGs()
        self.dicValoracion = collections.OrderedDict()
        self.dicValoracion[BUENO] = (dicNAGs[1],
                                     PantallaColores.nag2ico(1, 16))
        self.dicValoracion[MALO] = (dicNAGs[2], PantallaColores.nag2ico(2, 16))
        self.dicValoracion[MUY_BUENO] = (dicNAGs[3],
                                         PantallaColores.nag2ico(3, 16))
        self.dicValoracion[MUY_MALO] = (dicNAGs[4],
                                        PantallaColores.nag2ico(4, 16))
        self.dicValoracion[INTERESANTE] = (dicNAGs[5],
                                           PantallaColores.nag2ico(5, 16))
        self.dicValoracion[DUDOSA] = (dicNAGs[6],
                                      PantallaColores.nag2ico(6, 16))
        self.dicValoracion[SIN_VALORACION] = (_("No rating"), QtGui.QIcon())

        self.dicVentaja = collections.OrderedDict()
        self.dicVentaja[V_SIN] = (_("Undefined"), QtGui.QIcon())
        self.dicVentaja[V_IGUAL] = (dicNAGs[11],
                                    Iconos.V_Blancas_Igual_Negras())
        self.dicVentaja[V_BLANCAS] = (dicNAGs[14], Iconos.V_Blancas())
        self.dicVentaja[V_BLANCAS_MAS] = (dicNAGs[16], Iconos.V_Blancas_Mas())
        self.dicVentaja[V_BLANCAS_MAS_MAS] = (dicNAGs[18],
                                              Iconos.V_Blancas_Mas_Mas())
        self.dicVentaja[V_NEGRAS] = (dicNAGs[15], Iconos.V_Negras())
        self.dicVentaja[V_NEGRAS_MAS] = (dicNAGs[17], Iconos.V_Negras_Mas())
        self.dicVentaja[V_NEGRAS_MAS_MAS] = (dicNAGs[19],
                                             Iconos.V_Negras_Mas_Mas())

        # Valoracion
        liOpciones = [(tit[0], k, tit[1])
                      for k, tit in self.dicValoracion.iteritems()]
        self.cbValoracion = Controles.CB(self, liOpciones, 0).capturaCambiado(
            self.cambiadoValoracion)
        self.cbValoracion.ponFuente(tipoLetra)

        # Ventaja
        liOpciones = [(tit, k, icon)
                      for k, (tit, icon) in self.dicVentaja.iteritems()]
        self.cbVentaja = Controles.CB(self, liOpciones,
                                      0).capturaCambiado(self.cambiadoVentaja)
        self.cbVentaja.ponFuente(tipoLetra)

        # Comentario
        self.emComentario = Controles.EM(self, siHTML=False).capturaCambios(
            self.cambiadoComentario)
        self.emComentario.ponFuente(tipoLetra)
        self.emComentario.altoFijo(5 * configuracion.altoFilaPGN)
        lyVal = Colocacion.H().control(self.cbValoracion).control(
            self.cbVentaja)
        lyEd = Colocacion.V().otro(lyVal).control(self.emComentario)

        # Apertura
        self.lbApertura = Controles.LB(self).alinCentrado().ponFuente(
            tipoLetra).ponWrap()

        lyt = Colocacion.H().relleno().control(self.tablero).relleno()

        lya = Colocacion.H().relleno().control(self.lbPGN).relleno()

        layout = Colocacion.V()
        layout.otro(lyt)
        layout.otro(lybt)
        layout.otro(lya)
        layout.otro(lyEd)
        layout.control(self.lbApertura)
        layout.relleno()
        self.setLayout(layout)

        self.ajustaAncho()

        self.siReloj = False

        self.ponPartida(self.partidabase)
コード例 #17
0
ファイル: WEndingsGTB.py プロジェクト: xaizek/lucaschessR
    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()
コード例 #18
0
ファイル: WindowAnalysis.py プロジェクト: gamaBHC/lucaschessR
    def __init__(self, tb_analysis, ventana, is_white, siLibre, must_save,
                 muestraInicial):
        titulo = _("Analysis")
        icono = Iconos.Tutor()
        extparam = "analysis"

        QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam)

        self.tb_analysis = tb_analysis
        self.muestraActual = None

        configuration = Code.configuration
        config_board = configuration.config_board("ANALISIS", 48)
        self.siLibre = siLibre
        self.must_save = must_save
        self.is_white = is_white

        tbWork = QTVarios.LCTB(self, icon_size=24)
        tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar)
        tbWork.new(_("New"), Iconos.NuevoMas(), self.crear)

        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.ponerPiezasAbajo(is_white)
        self.board.dispatchSize(self.size_board_changed)

        self.lbMotor = Controles.LB(self).align_center()
        self.lbTiempo = Controles.LB(self).align_center()
        self.lbPuntuacion = (Controles.LB(self).align_center().ponTipoLetra(
            puntos=configuration.x_pgn_fontpoints, peso=75))
        self.lbPGN = Controles.LB(self).set_wrap().ponTipoLetra(
            puntos=configuration.x_pgn_fontpoints).anchoFijo(self.board.ancho)

        self.setStyleSheet(
            "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}"
        )

        liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN",
                          Iconos.Clipboard()), )
        lytb, self.tb = QTVarios.lyBotonesMovimiento(
            self,
            "",
            siLibre=siLibre,
            must_save=must_save,
            siGrabarTodos=must_save,
            siJugar=tb_analysis.max_recursion > 10,
            liMasAcciones=liMasAcciones,
        )

        lyTabl = Colocacion.H().relleno().control(self.board).relleno()

        lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control(
            self.lbMotor).control(self.lbTiempo)

        lyV = Colocacion.V()
        lyV.control(tbWork)
        lyV.otro(lyTabl)
        lyV.otro(lytb)
        lyV.otro(lyMotor)
        lyV.control(self.lbPGN)
        lyV.relleno()

        wm = WMuestra(self, muestraInicial)
        muestraInicial.wmu = wm

        # Layout
        self.ly = Colocacion.H().margen(10)
        self.ly.otro(lyV)
        self.ly.control(wm)

        lyM = Colocacion.H().margen(0).otro(self.ly).relleno()

        layout = Colocacion.V()
        layout.otro(lyM)
        layout.margen(3)
        layout.setSpacing(1)
        self.setLayout(layout)

        self.restore_video(siTam=False)
        wm.cambiadoRM(muestraInicial.pos_selected)
        self.activaMuestra(muestraInicial)
コード例 #19
0
    def __init__(self, owner, configuracion, bloqueApertura):
        icono = Iconos.Apertura()
        titulo = _("Select an opening")
        extparam = "selectOpening"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        # Variables--------------------------------------------------------------------------
        self.apStd = AperturasStd.ListaAperturasStd(configuracion, True, True)
        self.configuracion = configuracion
        self.partida = Partida.Partida()
        self.bloqueApertura = bloqueApertura
        self.liActivas = []

        # Tablero
        confTablero = configuracion.confTablero("APERTURAS", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponMensajero(self.mueveHumano)

        # Current pgn
        self.lbPGN = Controles.LB(self, "").ponWrap().ponTipoLetra(puntos=10, peso=75)
        ly = Colocacion.H().control(self.lbPGN)
        gbPGN = Controles.GB(self, _("Current opening"), ly)

        # Movimiento
        self.siMoviendoTiempo = False

        lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24)
        self.tbBM = tbBM

        # Tool bar
        tb = Controles.TBrutina(self)
        tb.new( _("Accept"), Iconos.Aceptar(), self.aceptar )
        tb.new( _("Cancel"), Iconos.Cancelar(), self.cancelar )
        tb.new( _("Reinit"), Iconos.Reiniciar(), self.resetPartida )
        tb.new( _("Takeback"), Iconos.Atras(), self.atras )
        tb.new( _("Remove"), Iconos.Borrar(), self.borrar )

        # Lista Aperturas
        oColumnas = Columnas.ListaColumnas()
        dicTipos = {"b": Iconos.pmEstrella(), "n": Iconos.pmPuntoAzul(), "l": Iconos.pmNaranja()}
        oColumnas.nueva("TIPO", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos))
        oColumnas.nueva("OPENING", _("Possible continuation"), 480)

        self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, altoFila=32)
        self.registrarGrid(self.grid)

        # # Derecha
        lyD = Colocacion.V().control(tb).control(self.grid)
        gbDerecha = Controles.GB(self, "", lyD)

        # # Izquierda
        lyI = Colocacion.V().control(self.tablero).otro(lyBM).control(gbPGN)
        gbIzquierda = Controles.GB(self, "", lyI)

        splitter = QtGui.QSplitter(self)
        splitter.addWidget(gbIzquierda)
        splitter.addWidget(gbDerecha)
        self.registrarSplitter(splitter, "splitter")

        ## Completo
        ly = Colocacion.H().control(splitter).margen(3)
        self.setLayout(ly)

        self.recuperarVideo(siTam=True)

        self.ponActivas()
        self.resetPartida()
        self.actualizaPosicion()
コード例 #20
0
ファイル: WindowOpenings.py プロジェクト: gamaBHC/lucaschessR
    def __init__(self, owner, configuration, opening_block):
        icono = Iconos.Opening()
        titulo = _("Select an opening")
        extparam = "selectOpening"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        # Variables--------------------------------------------------------------------------
        self.apStd = OpeningsStd.apTrain
        self.configuration = configuration
        self.game = Game.Game()
        self.opening_block = opening_block
        self.liActivas = []

        # Board
        config_board = configuration.config_board("APERTURAS", 32)
        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.set_dispatcher(self.player_has_moved)

        # Current pgn
        self.lbPGN = Controles.LB(self, "").set_wrap().ponTipoLetra(puntos=10, peso=75)

        # Movimiento
        self.is_moving_time = False

        lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, icon_size=24)
        self.tbBM = tbBM

        # Tool bar
        tb = Controles.TBrutina(self)
        tb.new(_("Accept"), Iconos.Aceptar(), self.aceptar)
        tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar)
        tb.new(_("Reinit"), Iconos.Reiniciar(), self.resetPartida)
        tb.new(_("Takeback"), Iconos.Atras(), self.atras)
        tb.new(_("Remove"), Iconos.Borrar(), self.borrar)

        # Lista Openings
        o_columns = Columnas.ListaColumnas()
        dicTipos = {"b": Iconos.pmSun(), "n": Iconos.pmPuntoAzul(), "l": Iconos.pmNaranja()}
        o_columns.nueva("TYPE", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos))
        o_columns.nueva("OPENING", _("Possible continuation"), 480)

        self.grid = Grid.Grid(self, o_columns, siSelecFilas=True, altoFila=32)
        self.register_grid(self.grid)

        # # Derecha
        lyD = Colocacion.V().control(tb).control(self.grid)
        gbDerecha = Controles.GB(self, "", lyD)

        # # Izquierda
        lyI = Colocacion.V().control(self.board).otro(lyBM).control(self.lbPGN)
        gbIzquierda = Controles.GB(self, "", lyI)

        splitter = QtWidgets.QSplitter(self)
        splitter.addWidget(gbIzquierda)
        splitter.addWidget(gbDerecha)
        self.register_splitter(splitter, "splitter")

        # Completo
        ly = Colocacion.H().control(splitter).margen(3)
        self.setLayout(ly)

        self.ponActivas()
        self.resetPartida()
        self.actualizaPosicion()

        dic = {"_SIZE_": "916,444", "SP_splitter": [356, 548]}
        self.restore_video(dicDef=dic)
コード例 #21
0
    def __init__(self, owner, configuracion, bloqueApertura):
        icono = Iconos.Apertura()
        titulo = _("Select an opening")
        extparam = "selectOpening"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        # Variables--------------------------------------------------------------------------
        self.apStd = AperturasStd.ListaAperturasStd(configuracion, True, True)
        self.configuracion = configuracion
        self.partida = Partida.Partida()
        self.bloqueApertura = bloqueApertura
        self.liActivas = []

        # Tablero
        confTablero = configuracion.confTablero("APERTURAS", 32)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponMensajero(self.mueveHumano)

        # Current pgn
        self.lbPGN = Controles.LB(self, "").ponWrap().ponTipoLetra(puntos=10,
                                                                   peso=75)

        # Movimiento
        self.siMoviendoTiempo = False

        lyBM, tbBM = QTVarios.lyBotonesMovimiento(self,
                                                  "",
                                                  siLibre=False,
                                                  tamIcon=24)
        self.tbBM = tbBM

        # Tool bar
        tb = Controles.TBrutina(self)
        tb.new(_("Accept"), Iconos.Aceptar(), self.aceptar)
        tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar)
        tb.new(_("Reinit"), Iconos.Reiniciar(), self.resetPartida)
        tb.new(_("Takeback"), Iconos.Atras(), self.atras)
        tb.new(_("Remove"), Iconos.Borrar(), self.borrar)

        # Lista Aperturas
        oColumnas = Columnas.ListaColumnas()
        dicTipos = {
            "b": Iconos.pmSun(),
            "n": Iconos.pmPuntoAzul(),
            "l": Iconos.pmNaranja()
        }
        oColumnas.nueva("TIPO",
                        "",
                        24,
                        edicion=Delegados.PmIconosBMT(dicIconos=dicTipos))
        oColumnas.nueva("OPENING", _("Possible continuation"), 480)

        self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, altoFila=32)
        self.registrarGrid(self.grid)

        # # Derecha
        lyD = Colocacion.V().control(tb).control(self.grid)
        gbDerecha = Controles.GB(self, "", lyD)

        # # Izquierda
        lyI = Colocacion.V().control(self.tablero).otro(lyBM).control(
            self.lbPGN)
        gbIzquierda = Controles.GB(self, "", lyI)

        splitter = QtGui.QSplitter(self)
        splitter.addWidget(gbIzquierda)
        splitter.addWidget(gbDerecha)
        self.registrarSplitter(splitter, "splitter")

        # Completo
        ly = Colocacion.H().control(splitter).margen(3)
        self.setLayout(ly)

        self.ponActivas()
        self.resetPartida()
        self.actualizaPosicion()

        dic = {'_SIZE_': '916,444', 'SP_splitter': [356, 548]}
        self.recuperarVideo(dicDef=dic)
コード例 #22
0
    def __init__(self, procesador):

        icono = Iconos.ManualSave()
        extparam = "manualsave"
        titulo = _("Save positions to FNS/PGN")
        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono, extparam)

        self.procesador = procesador
        self.configuracion = procesador.configuracion

        self.posicion = ControlPosicion.ControlPosicion()
        self.posicion.posInicial()

        self.gestor_motor = None
        self.pgn = None
        self.fns = None

        self.li_labels = [
            ["Site", ""],
            ["Event", ""],
            ["Date", ""],
            ["White", ""],
            ["Black", ""],
            ["WhiteElo", ""],
            ["BlackElo", ""],
            ["Result", ""],
        ]
        self.li_labels.extend([["", ""] for x in range(10)])

        self.li_analysis = []
        self.analyzing = False

        self.partida = None

        # Toolbar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar), None,
            (_("External engines"), Iconos.Motores(), self.ext_engines), None,
        )
        tb = QTVarios.LCTB(self, liAcciones)

        # Board + botones + solucion + boton salvado
        ##
        bt_change_position = Controles.PB(self, "   " + _("Change position"), self.change_position, plano=False)
        bt_change_position.ponIcono(Iconos.Datos(), 24)
        ##
        conf_tablero = self.configuracion.confTablero("MANUALSAVE", 32)
        self.tablero = Tablero.Tablero(self, conf_tablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(True)
        ##
        lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24, siTiempo=False)
        ##
        self.em_solucion = Controles.EM(self, siHTML=False).altoMinimo(40).capturaCambios(self.reset_partida)
        ##
        self.bt_solucion = Controles.PB(self, "   " + _("Save solution"), self.savesolucion, plano=False).ponIcono(Iconos.Grabar(), 24)
        self.bt_editar = Controles.PB(self, "   " + _("Edit"), self.editar_solucion, plano=False).ponIcono(Iconos.PlayGame())
        ly = Colocacion.V().control(self.em_solucion).control(self.bt_editar)
        gb = Controles.GB(self, _("Solution"), ly)
        ###
        lybtp = Colocacion.H().control(bt_change_position).espacio(20).control(self.bt_solucion)
        lyT = Colocacion.V().otro(lybtp).control(self.tablero).otro(lybt).control(gb)
        gb_left = Controles.GB(self, "", lyT)

        # Ficheros PGN + FNS
        lb_pgn = Controles.LB(self, _("PGN") + ": ")
        self.bt_pgn = Controles.PB(self, "", self.pgn_select, plano=False).anchoMinimo(300)
        bt_no_pgn = Controles.PB(self, "", self.pgn_unselect).ponIcono(Iconos.Delete()).anchoFijo(16)
        lb_fns = Controles.LB(self, _("FNS") + ": ")
        self.bt_fns = Controles.PB(self, "", self.fns_select, plano=False).anchoMinimo(300)
        bt_no_fns = Controles.PB(self, "", self.fns_unselect).ponIcono(Iconos.Delete()).anchoFijo(16)
        ## Codec
        lb_codec = Controles.LB(self, _("Encoding") + ": ")
        liCodecs = [k for k in set(v for k, v in encodings.aliases.aliases.iteritems())]
        liCodecs.sort()
        liCodecs = [(k, k) for k in liCodecs]
        liCodecs.insert(0, ("%s: %s" % (_("By default"), _("UTF-8")), "default"))
        self.codec = "default"
        self.cb_codecs = Controles.CB(self, liCodecs, self.codec)
        ###
        ly0 = Colocacion.G().control(lb_pgn, 0, 0).control(self.bt_pgn, 0, 1).control(bt_no_pgn, 0, 2)
        ly0.control(lb_fns, 1, 0).control(self.bt_fns, 1, 1).control(bt_no_fns, 1, 2)
        ly1 = Colocacion.H().control(lb_codec).control(self.cb_codecs).relleno(1)
        ly = Colocacion.V().otro(ly0).otro(ly1)
        gb_files = Controles.GB(self, _("File to save"), ly)

        # Labels + correlativo
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("LABEL", _("Label"), 80, edicion=Delegados.LineaTextoUTF8(), siCentrado=True)
        oColumnas.nueva("VALUE", _("Value"), 280, edicion=Delegados.LineaTextoUTF8())
        self.grid_labels = Grid.Grid(self, oColumnas, siEditable=True, xid=1)
        n = self.grid_labels.anchoColumnas()
        self.grid_labels.setFixedWidth(n + 20)
        self.registrarGrid(self.grid_labels)

        ##
        lb_number = Controles.LB(self, _("Correlative number")+": ")
        self.sb_number = Controles.SB(self, 0, 0, 99999999).tamMaximo(50)
        lb_number_help = Controles.LB(self, _("Replace symbol # in Value column (#=3, ###=003)"))
        lb_number_help.setWordWrap(True)

        ly_number = Colocacion.H().control(lb_number).control(self.sb_number).control(lb_number_help, 4)

        ly = Colocacion.V().control(self.grid_labels).otro(ly_number)
        gb_labels = Controles.GB(self, _("PGN labels"), ly)

        # Analysis + grid + start/stop + multiPV
        self.bt_start = Controles.PB(self, "", self.start).ponIcono(Iconos.Pelicula_Seguir(), 32)
        self.bt_stop = Controles.PB(self, "", self.stop).ponIcono(Iconos.Pelicula_Pausa(), 32)
        self.bt_stop.hide()

        lb_engine = Controles.LB(self, _("Engine") + ":")
        liMotores = self.configuracion.comboMotoresCompleto()
        self.cb_engine = Controles.CB(self, liMotores, self.configuracion.tutor.clave).capturaCambiado(self.reset_motor)

        lb_multipv = Controles.LB(self, _("Multi PV")+": ")
        self.sb_multipv = Controles.SB(self, 1, 1, 500).tamMaximo(50)
        ##
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("PDT", _("Evaluation"), 100, siCentrado=True)
        oColumnas.nueva("PGN", _("Solution"), 360)
        self.grid_analysis = Grid.Grid(self, oColumnas, siSelecFilas=True)
        self.registrarGrid(self.grid_analysis)
        ##
        lb_analysis_help = Controles.LB(self, _("Double click to send analysis line to solution"))
        ###
        ly_lin1 = Colocacion.H().control(self.bt_start).control(self.bt_stop).control(lb_engine).control(self.cb_engine)
        ly_lin1.relleno(1).control(lb_multipv).control(self.sb_multipv)
        ly = Colocacion.V().otro(ly_lin1).control(self.grid_analysis).control(lb_analysis_help)
        gb_analysis = Controles.GB(self, _("Analysis"), ly)

        # ZONA
        splitter_right = QtGui.QSplitter(self)
        splitter_right.setOrientation(QtCore.Qt.Vertical)
        splitter_right.addWidget(gb_files)
        splitter_right.addWidget(gb_labels)
        splitter_right.addWidget(gb_analysis)

        self.registrarSplitter(splitter_right, "RIGHT")
        ##
        splitter = QtGui.QSplitter(self)
        splitter.addWidget(gb_left)
        splitter.addWidget(splitter_right)

        self.registrarSplitter(splitter, "ALL")

        layout = Colocacion.V().control(tb).control(splitter).margen(5)

        self.setLayout(layout)

        self.inicializa()
コード例 #23
0
    def __init__(self, mAnalisis, ventana, siBlancas, siLibre, siGrabar,
                 muestraInicial):
        titulo = _("Analysis")
        icono = Iconos.Tutor()
        extparam = "analysis"

        QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam)

        self.mAnalisis = mAnalisis
        self.muestraActual = None

        confTablero = VarGen.configuracion.confTablero("ANALISIS", 48)
        self.siLibre = siLibre
        self.siGrabar = siGrabar
        self.siBlancas = siBlancas

        tbWork = Controles.TBrutina(self, tamIcon=24)
        tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar)
        tbWork.new(_("New"), Iconos.NuevoMas(), self.crear)

        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(siBlancas)

        self.lbMotor = Controles.LB(self).alinCentrado()
        self.lbTiempo = Controles.LB(self).alinCentrado()
        self.lbPuntuacion = Controles.LB(self).alinCentrado().ponTipoLetra(
            puntos=10, peso=75)
        self.lbPGN = Controles.LB(self).ponTipoLetra(peso=75).ponWrap()

        self.setStyleSheet(
            "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}"
        )

        liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN",
                          Iconos.Clip()), )
        lytb, self.tb = QTVarios.lyBotonesMovimiento(
            self,
            "",
            siLibre=siLibre,
            siGrabar=siGrabar,
            siGrabarTodos=siGrabar,
            siJugar=mAnalisis.maxRecursion > 10,
            liMasAcciones=liMasAcciones)

        lyTabl = Colocacion.H().relleno().control(self.tablero).relleno()

        lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control(
            self.lbMotor).control(self.lbTiempo)

        lyV = Colocacion.V()
        lyV.control(tbWork)
        lyV.otro(lyTabl)
        lyV.otro(lytb)
        lyV.otro(lyMotor)
        lyV.control(self.lbPGN)
        lyV.relleno()

        wm = WMuestra(self, muestraInicial)
        muestraInicial.wmu = wm

        # Layout
        self.ly = Colocacion.H().margen(10)
        self.ly.otro(lyV)
        self.ly.control(wm)

        lyM = Colocacion.H().margen(0).otro(self.ly).relleno()

        layout = Colocacion.V()
        layout.otro(lyM)
        layout.margen(3)
        layout.setSpacing(1)
        self.setLayout(layout)

        self.recuperarVideo(siTam=False)
        self.show()
        wm.cambiadoRM(muestraInicial.posElegida)
        self.activaMuestra(muestraInicial)