Beispiel #1
0
    def __init__(self, wgm, ogm):
        self.liRegs = ogm.genToSelect()

        dgm = GM.dicGM()
        nombre = dgm.get(ogm.gm, ogm.gm)
        titulo = "%s - %s" % (_("One game"), nombre)
        icono = Iconos.Uno()
        extparam = "gm1g"
        QTVarios.WDialogo.__init__(self, wgm, titulo, icono, extparam)

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NOMBRE", _("Opponent"), 180)
        oColumnas.nueva("FECHA", _("Date"), 90, siCentrado=True)
        oColumnas.nueva("ECO", _("ECO"), 40, siCentrado=True)
        oColumnas.nueva("RESULT", _("Result"), 64, siCentrado=True)
        self.grid = grid = Grid.Grid(self, oColumnas, siSelecFilas=True)
        self.grid.coloresAlternados()
        self.registrarGrid(grid)

        liAcciones = [
            (_("Accept"), Iconos.Aceptar(), "aceptar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        layout = Colocacion.V().control(tb).control(grid).margen(3)
        self.setLayout(layout)

        self.recuperarVideo(anchoDefecto=400)
        self.partidaElegida = None
    def __init__(self, owner, regSVG, xml=None, nombre=None):

        QtGui.QDialog.__init__(self, owner)

        self.setWindowTitle(_("Image"))
        self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint)

        self.configuracion = VarGen.configuracion

        if not regSVG:
            regSVG = TabVisual.PSVG()
            regSVG.xml = xml
            if nombre:
                regSVG.nombre = nombre

        liAcciones = [(_("Save"), Iconos.Aceptar(), "grabar"), None,
                      (_("Cancel"), Iconos.Cancelar(), "reject"), None,
                      ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        confTablero = owner.tablero.confTablero
        self.tablero = Tablero.Tablero(self, confTablero, siDirector=False)
        self.tablero.crea()
        self.tablero.copiaPosicionDe(owner.tablero)

        # Datos generales
        liGen = []

        # nombre del svg que se usara en los menus del tutorial
        config = FormLayout.Editbox(_("Name"), ancho=120)
        liGen.append((config, regSVG.nombre))

        # ( "opacidad", "n", 1.0 ),
        config = FormLayout.Dial(_("Degree of transparency"), 0, 99)
        liGen.append((config, 100 - int(regSVG.opacidad * 100)))

        # ( "psize", "n", 100 ),
        config = FormLayout.Spinbox(_("Size") + " %", 1, 1600, 50)
        liGen.append((config, regSVG.psize))

        # orden
        config = FormLayout.Combobox(_("Order concerning other items"), QTUtil2.listaOrdenes())
        liGen.append((config, regSVG.posicion.orden))

        self.form = FormLayout.FormWidget(liGen, dispatch=self.cambios)

        # Layout
        layout = Colocacion.H().control(self.form).relleno().control(self.tablero)
        layout1 = Colocacion.V().control(tb).otro(layout)
        self.setLayout(layout1)

        # Ejemplos
        liMovs = ["b4c4", "e2e2", "e4g7"]
        self.liEjemplos = []
        for a1h8 in liMovs:
            regSVG.a1h8 = a1h8
            regSVG.siMovible = True
            svg = self.tablero.creaSVG(regSVG, siEditando=True)
            self.liEjemplos.append(svg)
Beispiel #3
0
def lyBotonesMovimiento(
    owner,
    key,
    siLibre=True,
    siMas=False,
    siTiempo=True,
    must_save=False,
    siGrabarTodos=False,
    siJugar=False,
    rutina=None,
    icon_size=16,
    liMasAcciones=None,
):
    li_acciones = []

    def x(tit, tr, icono):
        li_acciones.append((tr, icono, key + tit))

    li_acciones.append(None)
    x("MoverInicio", _("Start position"), Iconos.MoverInicio())
    li_acciones.append(None)
    x("MoverAtras", _("Previous move"), Iconos.MoverAtras())
    li_acciones.append(None)
    x("MoverAdelante", _("Next move"), Iconos.MoverAdelante())
    li_acciones.append(None)
    x("MoverFinal", _("Last move"), Iconos.MoverFinal())
    li_acciones.append(None)
    if siLibre:
        x("MoverLibre", _("Analysis of variation"), Iconos.MoverLibre())
        li_acciones.append(None)
    if siJugar:
        x("MoverJugar", _("Play"), Iconos.MoverJugar())
        li_acciones.append(None)
    if siTiempo:
        x("MoverTiempo", _("Timed movement"), Iconos.MoverTiempo())
    li_acciones.append(None)
    if must_save:
        x("MoverGrabar", _("Save"), Iconos.MoverGrabar())
        li_acciones.append(None)
    if siGrabarTodos:
        li_acciones.append((_("Save") + "++", Iconos.MoverGrabarTodos(),
                            key + "MoverGrabarTodos"))
        li_acciones.append(None)
    if siMas:
        x("MoverMas", _("New analysis"), Iconos.MoverMas())
        li_acciones.append(None)

    if liMasAcciones:
        for trad, tit, icono in liMasAcciones:
            li_acciones.append((trad, icono, key + tit))
            li_acciones.append(None)

    tb = Controles.TB(owner,
                      li_acciones,
                      False,
                      icon_size=icon_size,
                      rutina=rutina)
    tb.setMinimumHeight(icon_size + 4)
    ly = Colocacion.H().relleno().control(tb).relleno()
    return ly, tb
    def __init__(self, owner, listaSVGs, dbSVGs):

        titulo = _("Images")
        icono = Iconos.SVGs()
        extparam = "svgs"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.owner = owner

        flb = Controles.TipoLetra(puntos=8)

        self.configuracion = VarGen.configuracion
        self.liPSVGs = listaSVGs
        self.dbSVGs = dbSVGs

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 60, siCentrado=True)
        oColumnas.nueva("NOMBRE", _("Name"), 256)

        self.grid = Grid.Grid(self, oColumnas, xid="M", siSelecFilas=True)

        liAcciones = [
            (_("Close"), Iconos.MainMenu(), "terminar"), None,
            (_("New"), Iconos.Nuevo(), "mas"), None,
            (_("Remove"), Iconos.Borrar(), "borrar"), None,
            (_("Modify"), Iconos.Modificar(), "modificar"), None,
            (_("Copy"), Iconos.Copiar(), "copiar"), None,
            (_("Up"), Iconos.Arriba(), "arriba"), None,
            (_("Down"), Iconos.Abajo(), "abajo"), None,
        ]
        tb = Controles.TB(self, liAcciones)
        tb.setFont(flb)

        ly = Colocacion.V().control(tb).control(self.grid)

        # Tablero
        confTablero = owner.tablero.confTablero
        self.tablero = Tablero.Tablero(self, confTablero, siDirector=False)
        self.tablero.crea()
        self.tablero.copiaPosicionDe(owner.tablero)

        # Layout
        layout = Colocacion.H().otro(ly).control(self.tablero)
        self.setLayout(layout)

        # Ejemplos
        liMovs = ["g4h3", "e2e2", "d6f4"]
        self.liEjemplos = []
        regSVG = TabTipos.SVG()
        for a1h8 in liMovs:
            regSVG.a1h8 = a1h8
            regSVG.xml = estrellaSVG
            regSVG.siMovible = True
            svg = self.tablero.creaSVG(regSVG, siEditando=True)
            self.liEjemplos.append(svg)

        self.grid.gotop()
        self.grid.setFocus()
 def tbGen(prev):
     liAcciones = ((_("Add"), icoMas, "%s_add" % prev),
                   (_("Delete"), icoMenos, "%s_delete" % prev), None,
                   (_("Delete all"), icoCancel, "%s_delete_all" % prev), None,
                   (_("Reset"), icoReset, "%s_reset" % prev), None,
                   )
     tb = Controles.TB(self, liAcciones, tamIcon=16, siTexto=False)
     return tb
    def __init__(self, owner, liFens, engine, segundos, fns):

        super(WDailyTest, self).__init__(owner, _("Your daily test"),
                                         Iconos.DailyTest(), "nivel")

        self.procesador = owner.procesador
        self.configuration = self.procesador.configuration

        if engine.startswith("*"):
            engine = engine[1:]
        confMotor = self.configuration.buscaTutor(engine)
        self.xtutor = self.procesador.creaManagerMotor(confMotor,
                                                       segundos * 1000, None)
        self.xtutor.maximizaMultiPV()

        self.historico = owner.historico

        # Board
        config_board = self.configuration.config_board("LEVEL", 48)

        self.liFens = liFens
        self.nFens = len(self.liFens)
        self.juego = 0
        self.liPuntos = []
        self.li_pv = []
        self.li_tiempos = []
        self.fns = fns

        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.set_dispatcher(self.player_has_moved)

        # Rotulos informacion
        self.lbColor = Controles.LB(self, "").set_wrap().anchoMinimo(200)
        self.lbJuego = Controles.LB(self, "").align_center()

        # Tool bar
        li_acciones = (
            # ( _( "Start" ), Iconos.Empezar(), "empezar" ),
            (_("Analysis"), Iconos.Tutor(), "analizar"),
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            (_("Continue"), Iconos.Pelicula_Seguir(), "seguir"),
            (_("Resign"), Iconos.Abandonar(), "abandonar"),
        )
        self.tb = Controles.TB(self, li_acciones)

        lyT = Colocacion.V().control(self.board).relleno()
        lyV = Colocacion.V().control(self.lbJuego).relleno().control(
            self.lbColor).relleno(2)
        lyTV = Colocacion.H().otro(lyT).otro(lyV)
        ly = Colocacion.V().control(self.tb).otro(lyTV)

        self.setLayout(ly)

        self.position = Position.Position()
        self.restore_video()

        self.play_next_move()
    def __init__(self, wParent):

        QtGui.QDialog.__init__(self, wParent)

        self.wParent = wParent

        self.fichero = ""

        self.setWindowTitle(_("Create a new book"))
        self.setWindowIcon(Iconos.Libros())
        self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog
                            | QtCore.Qt.WindowTitleHint)

        f = Controles.TipoLetra(puntos=9, peso=75)

        self.configuracion = VarGen.configuracion
        fvar = self.configuracion.ficheroBooks
        self.listaLibros = Books.ListaLibros()
        self.listaLibros.recuperaVar(fvar)

        lbFichero = Controles.LB(self, _("Book to create") + ":").ponFuente(f)
        self.btFichero = Controles.PB(self, "", self.buscaFichero,
                                      False).anchoMinimo(450).ponFuente(f)
        lbMaxPly = Controles.LB(self,
                                _("Maximum no. half moves (ply)") +
                                ":").ponFuente(f)
        self.sbMaxPly = Controles.SB(self, 0, 0, 999).tamMaximo(50)
        lbMinGame = Controles.LB(self,
                                 _("Minimum number of games") +
                                 ":").ponFuente(f)
        self.sbMinGame = Controles.SB(self, 3, 1, 999).tamMaximo(50)
        lbMinScore = Controles.LB(self, _("Minimum score") + ":").ponFuente(f)
        self.sbMinScore = Controles.SB(self, 0, 0, 100).tamMaximo(50)
        self.chbOnlyWhite = Controles.CHB(self, _("White only"),
                                          False).ponFuente(f)
        self.chbOnlyBlack = Controles.CHB(self, _("Black only"),
                                          False).ponFuente(f)
        self.chbUniform = Controles.CHB(self, _("Uniform distribution"),
                                        False).ponFuente(f)

        lyf = Colocacion.H().control(lbFichero).control(self.btFichero)
        ly = Colocacion.G().margen(15)
        ly.otroc(lyf, 0, 0, 1, 2)
        ly.controld(lbMaxPly, 1, 0).control(self.sbMaxPly, 1, 1)
        ly.controld(lbMinGame, 2, 0).control(self.sbMinGame, 2, 1)
        ly.controld(lbMinScore, 3, 0).control(self.sbMinScore, 3, 1)
        ly.controlc(self.chbOnlyWhite, 4, 0, 1, 2)
        ly.controlc(self.chbOnlyBlack, 5, 0, 1, 2)
        ly.controlc(self.chbUniform, 6, 0, 1, 2)

        # Toolbar
        liAcciones = [(_("Accept"), Iconos.Aceptar(), "aceptar"), None,
                      (_("Cancel"), Iconos.Cancelar(), "cancelar"), None]
        tb = Controles.TB(self, liAcciones)

        # Layout
        layout = Colocacion.V().control(tb).otro(ly).margen(3)
        self.setLayout(layout)
Beispiel #8
0
    def __init__(self, owner, liFens, motor, segundos, fns):

        super(WDailyTest, self).__init__(owner, _("Your daily test"),
                                         Iconos.DailyTest(), "nivel")

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

        if motor.startswith("*"):
            motor = motor[1:]
        confMotor = self.configuracion.buscaTutor(motor, "mcbrain")
        self.xtutor = self.procesador.creaGestorMotor(confMotor,
                                                      segundos * 1000, None)
        self.xtutor.maximizaMultiPV()

        self.historico = owner.historico

        # Tablero
        confTablero = self.configuracion.confTablero("NIVEL", 48)

        self.liFens = liFens
        self.nFens = len(self.liFens)
        self.juego = 0
        self.liPuntos = []
        self.liPV = []
        self.liTiempos = []
        self.fns = fns

        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponMensajero(self.mueveHumano)

        # Rotulos informacion
        self.lbColor = Controles.LB(self, "").ponWrap().anchoMinimo(200)
        self.lbJuego = Controles.LB(self, "").alinCentrado()

        # Tool bar
        liAcciones = (
            # ( _( "Start" ), Iconos.Empezar(), "empezar" ),
            (_("Analysis"), Iconos.Tutor(), "analizar"),
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            (_("Continue"), Iconos.Pelicula_Seguir(), "seguir"),
            (_("Resign"), Iconos.Abandonar(), "abandonar"),
        )
        self.tb = Controles.TB(self, liAcciones)

        lyT = Colocacion.V().control(self.tablero).relleno()
        lyV = Colocacion.V().control(self.lbJuego).relleno().control(
            self.lbColor).relleno(2)
        lyTV = Colocacion.H().otro(lyT).otro(lyV)
        ly = Colocacion.V().control(self.tb).otro(lyTV)

        self.setLayout(ly)

        self.posicion = ControlPosicion.ControlPosicion()
        self.recuperarVideo()

        self.siguienteJugada()
Beispiel #9
0
    def __init__(self, owner, numRegistro):

        super().__init__(parent=owner,
                         titulo=_("Learn a game"),
                         icono=Iconos.PGN(),
                         extparam="learn1game")

        self.owner = owner
        self.db = owner.db
        self.procesador = owner.procesador
        self.configuracion = self.procesador.configuracion
        self.numRegistro = numRegistro
        self.registro = self.db.leeRegistro(numRegistro)

        self.partida = Partida.Partida()
        self.partida.recuperaDeTexto(self.registro["PARTIDA"])

        self.lbRotulo = Controles.LB(self, self.rotulo()).ponTipoLetra(
            puntos=12).ponColorFondoN("#076C9F", "#EFEFEF")

        self.liIntentos = self.registro.get("LIINTENTOS", [])

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("DATE", _("Date"), 80, siCentrado=True)
        oColumnas.nueva("LEVEL", _("Level"), 80, siCentrado=True)
        oColumnas.nueva("COLOR", _("Play with"), 80, siCentrado=True)
        oColumnas.nueva("ERRORS", _("Errors"), 80, siCentrado=True)
        oColumnas.nueva("HINTS", _("Hints"), 80, siCentrado=True)
        oColumnas.nueva("TIME", _("Time"), 80, siCentrado=True)
        self.grid = Grid.Grid(self,
                              oColumnas,
                              siSelecFilas=True,
                              siSeleccionMultiple=True)
        self.grid.setMinimumWidth(self.grid.anchoColumnas() + 20)

        # Tool bar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Train"), Iconos.Empezar(), "empezar"),
            None,
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
        )
        self.tb = Controles.TB(self, liAcciones)

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.grid).control(
            self.lbRotulo).margen(3)

        self.setLayout(ly)

        self.registrarGrid(self.grid)
        self.recuperarVideo(siTam=False)

        self.grid.gotop()
Beispiel #10
0
    def __init__(self, owner, boxing):

        self.boxing = boxing

        # Dialogo ---------------------------------------------------------------
        icono = Iconos.Resistencia()
        titulo = _("Resistance Test")
        tipo = boxing.tipo
        if tipo:
            titulo += "-" + _("Blindfold chess")
            if tipo == "p1":
                titulo += "-" + _("Hide only our pieces")
            elif tipo == "p2":
                titulo += "-" + _("Hide only opponent pieces")
        extparam = "boxing"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)
        # self.setStyleSheet("QWidget { background: #AFC3D7 }")

        # Tool bar ---------------------------------------------------------------
        liAcciones = [
            (_("Quit"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Remove data"), Iconos.Borrar(), "borrar"),
            None,
            (_("Config"), Iconos.Configurar(), "configurar"),
        ]
        tb = Controles.TB(self, liAcciones, background="#AFC3D7")

        # Texto explicativo ----------------------------------------------------
        self.lb = Controles.LB(self)
        self.ponTextoAyuda()
        self.lb.ponFondoN("#F5F0CF")

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ENGINE", _("Engine"), 198)
        oColumnas.nueva("BLANCAS", _("White"), 200, siCentrado=True)
        oColumnas.nueva("NEGRAS", _("Black"), 200, siCentrado=True)

        self.grid = grid = Grid.Grid(self,
                                     oColumnas,
                                     siSelecFilas=True,
                                     background=None)
        self.grid.coloresAlternados()
        self.registrarGrid(grid)

        # Layout
        lyB = Colocacion.V().controlc(self.lb).control(self.grid).margen(3)
        layout = Colocacion.V().control(tb).otro(lyB).margen(0)
        self.setLayout(layout)

        self.recuperarVideo(siTam=True, anchoDefecto=677, altoDefecto=562)

        self.grid.gotop()

        self.grid.setFocus()
        self.resultado = None
Beispiel #11
0
 def tb_gen(prev):
     li_acciones = (
         (_("Add"), ico_mas, "%s_add" % prev),
         (_("Delete"), ico_menos, "%s_delete" % prev),
         None,
         (_("Delete all"), ico_cancel, "%s_delete_all" % prev),
         None,
         (_("Reset"), ico_reset, "%s_reset" % prev),
         None,
     )
     tb = Controles.TB(self, li_acciones, icon_size=16, with_text=False)
     return tb
Beispiel #12
0
    def __init__(self, procesador, nivel):

        titulo = "%s. %s %d" % (_("Moves between two positions"), _("Level"),
                                nivel)
        super().__init__(parent=procesador.pantalla,
                         titulo=titulo,
                         icono=Iconos.Puente(),
                         extparam="puenteBase")

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

        self.historico = PuenteHistorico(self.configuracion.ficheroPuente,
                                         nivel)

        self.colorMejorFondo = QTUtil.qtColorRGB(150, 104, 145)
        self.colorBien = QTUtil.qtColorRGB(0, 0, 255)
        self.colorMal = QTUtil.qtColorRGB(255, 72, 72)
        self.colorMejor = QTUtil.qtColorRGB(255, 255, 255)

        # Historico
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("FECHA", _("Date"), 120, siCentrado=True)
        oColumnas.nueva("SEGUNDOS", _("Second(s)"), 120, siCentrado=True)
        self.ghistorico = Grid.Grid(self,
                                    oColumnas,
                                    siSelecFilas=True,
                                    siSeleccionMultiple=True)
        self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20)

        # Tool bar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Start"), Iconos.Empezar(), "empezar"),
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
        )
        self.tb = Controles.TB(self, liAcciones)
        self.ponToolBar("terminar", "empezar", "borrar")

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3)

        self.setLayout(ly)

        self.registrarGrid(self.ghistorico)
        self.recuperarVideo(siTam=False)

        self.ghistorico.gotop()
Beispiel #13
0
def lyBotonesMovimiento(owner,
                        clave,
                        siLibre=True,
                        siMas=False,
                        siTiempo=True,
                        siGrabar=False,
                        siGrabarTodos=False,
                        siJugar=False,
                        rutina=None,
                        tamIcon=16,
                        liMasAcciones=None):
    liAcciones = []

    def x(tit, tr, icono):
        liAcciones.append((tr, icono, clave + tit))

    # liAcciones.append( None )
    x("MoverInicio", _("First move"), Iconos.MoverInicio())
    liAcciones.append(None)
    x("MoverAtras", _("Previous move"), Iconos.MoverAtras())
    liAcciones.append(None)
    x("MoverAdelante", _("Next move"), Iconos.MoverAdelante())
    liAcciones.append(None)
    x("MoverFinal", _("Last move"), Iconos.MoverFinal())
    liAcciones.append(None)
    if siLibre:
        x("MoverLibre", _("Analysis of variant"), Iconos.MoverLibre())
        liAcciones.append(None)
    if siJugar:
        x("MoverJugar", _("Play"), Iconos.MoverJugar())
        liAcciones.append(None)
    if siTiempo:
        x("MoverTiempo", _("Timed movement"), Iconos.MoverTiempo())
    liAcciones.append(None)
    if siGrabar:
        x("MoverGrabar", _("Save"), Iconos.MoverGrabar())
        liAcciones.append(None)
    if siGrabarTodos:
        liAcciones.append((_("Save") + "++", Iconos.MoverGrabarTodos(),
                           clave + "MoverGrabarTodos"))
        liAcciones.append(None)
    if siMas:
        x("MoverMas", _("New analysis"), Iconos.MoverMas())

    if liMasAcciones:
        for trad, tit, icono in liMasAcciones:
            liAcciones.append(None)
            liAcciones.append((trad, icono, clave + tit))

    tb = Controles.TB(owner, liAcciones, False, tamIcon=tamIcon, rutina=rutina)
    ly = Colocacion.H().relleno().control(tb).relleno()
    return ly, tb
    def __init__(self, procesador):

        titulo = _("Learn a game")
        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo,
                                   Iconos.PGN(), "learngame")

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

        self.db = LearnPGNs(self.configuracion.ficheroLearnPGN)

        # Historico
        oColumnas = Columnas.ListaColumnas()

        def creaCol(clave, rotulo, siCentrado=True):
            oColumnas.nueva(clave, rotulo, 80, siCentrado=siCentrado)

        # # Claves segun orden estandar
        liBasic = ("EVENT", "SITE", "DATE", "ROUND", "WHITE", "BLACK",
                   "RESULT", "ECO", "FEN", "WHITEELO", "BLACKELO")
        for clave in liBasic:
            rotulo = TrListas.pgnLabel(clave)
            creaCol(clave, rotulo, clave != "EVENT")
        self.grid = Grid.Grid(self,
                              oColumnas,
                              siSelecFilas=True,
                              siSeleccionMultiple=True)
        self.grid.setMinimumWidth(self.grid.anchoColumnas() + 20)

        # Tool bar
        liAcciones = (
            (_("Quit"), Iconos.MainMenu(), "terminar"),
            None,
            (_("New"), Iconos.TutorialesCrear(), "nuevo"),
            None,
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
            (_("Start"), Iconos.Empezar(), "empezar"),
        )
        self.tb = Controles.TB(self, liAcciones)

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.grid).margen(3)

        self.setLayout(ly)

        self.registrarGrid(self.grid)
        self.recuperarVideo(siTam=False)

        self.grid.gotop()
    def __init__(self, owner, partida):

        titulo = _("Choose moves")
        icono = Iconos.Camara()
        extparam = "tabvpart"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.owner = owner
        self.partida = partida
        self.siEmpiezaConNegras = partida.siEmpiezaConNegras
        siTodos = True
        self.liElegidos = [siTodos] * len(partida.liJugadas)

        liAcciones = [
            (_("Accept"), Iconos.Aceptar(), "aceptar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "reject"),
            None,
            (_("Mark"), Iconos.Marcar(), "marcar"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        confTablero = VarGen.configuracion.confTablero("ELIGEMOVS", 24)
        self.tablero = Tablero.TableroVisual(self, confTablero)
        self.tablero.crea()
        self.tablero.desactivaTodas()

        # Pgn
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ELEGIDO", "", 30, siCentrado=True, siChecked=True)
        oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True)
        oColumnas.nueva("BLANCAS", _("White"), 100, siCentrado=True)
        oColumnas.nueva("NEGRAS", _("Black"), 100, siCentrado=True)
        self.pgn = Grid.Grid(self,
                             oColumnas,
                             siCabeceraMovible=False,
                             siSelecFilas=True)
        nAnchoPgn = self.pgn.anchoColumnas() + 20
        self.pgn.setMinimumWidth(nAnchoPgn)
        self.pgn.gotop()

        ly = Colocacion.H().control(self.tablero).control(self.pgn)

        layout = Colocacion.V().control(tb).otro(ly)
        self.setLayout(layout)
        self.pgn.setFocus()

        self.resultado = []
Beispiel #16
0
    def __init__(self, owner, db):

        self.db = db

        self.liSonidos = owner.listaSonidos()

        titulo = _("Custom sounds")
        icono = Iconos.S_Play()
        extparam = "sounds"
        super().__init__(parent=owner,
                         titulo=titulo,
                         icono=icono,
                         extparam=extparam)

        # Toolbar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("New"), Iconos.Nuevo(), "nuevo"),
            (_("Modify"), Iconos.Modificar(), "modificar"),
            None,
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
            (_("Up"), Iconos.Arriba(), "arriba"),
            (_("Down"), Iconos.Abajo(), "abajo"),
            None,
            (_("Listen"), Iconos.S_Play(), "play"),
        )
        tb = Controles.TB(self, liAcciones)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NOMBRE", _("Sound"), 300, siCentrado=True)
        oColumnas.nueva("DURACION", _("Duration"), 60, siCentrado=True)

        self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(3)
        self.setLayout(layout)

        self.grid.gotop()
        self.grid.setFocus()

        self.siPlay = False

        self.registrarGrid(self.grid)

        if not self.recuperarVideo():
            self.resize(self.grid.anchoColumnas() + 30, 600)
    def __init__(self, pantalla, tactica, icono):

        super().__init__(parent=pantalla,
                         titulo=tactica.titulo,
                         icono=icono,
                         extparam="histoTacticas")

        self.liHistorico = tactica.historico()
        self.tactica = tactica
        self.resultado = None

        # Historico
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("REFERENCE", _("Reference"), 120, siCentrado=True)
        oColumnas.nueva("FINICIAL", _("Start date"), 120, siCentrado=True)
        oColumnas.nueva("FFINAL", _("End date"), 120, siCentrado=True)
        oColumnas.nueva("TIEMPO",
                        "%s - %s:%s" % (_("Days"), _("Hours"), _("Minutes")),
                        120,
                        siCentrado=True)
        oColumnas.nueva("POSICIONES", _("Num. puzzles"), 100, siCentrado=True)
        oColumnas.nueva("SECONDS", _("Working time"), 100, siCentrado=True)
        oColumnas.nueva("ERRORS", _("Errors"), 100, siCentrado=True)
        self.ghistorico = Grid.Grid(self,
                                    oColumnas,
                                    siSelecFilas=True,
                                    siSeleccionMultiple=True)
        self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20)

        # Tool bar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            (_("Train"), Iconos.Empezar(), "entrenar"),
            (_("New"), Iconos.Nuevo(), "nuevo"),
            (_("Remove"), Iconos.Borrar(), "borrar"),
        )
        self.tb = Controles.TB(self, liAcciones)
        accion = "nuevo" if tactica.terminada() else "entrenar"
        self.ponToolBar("terminar", accion, "borrar")

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3)

        self.setLayout(ly)

        self.registrarGrid(self.ghistorico)
        self.recuperarVideo(siTam=False)

        self.ghistorico.gotop()
Beispiel #18
0
    def __init__(self, main_window, tactica, icono):

        QTVarios.WDialogo.__init__(self, main_window, tactica.title, icono,
                                   "histoTacticas")

        self.li_histo = tactica.historico()
        self.tactica = tactica
        self.resultado = None

        # Historico
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("REFERENCE", _("Reference"), 120, centered=True)
        o_columns.nueva("FINICIAL", _("Start date"), 120, centered=True)
        o_columns.nueva("FFINAL", _("End date"), 120, centered=True)
        o_columns.nueva("TIEMPO",
                        "%s - %s:%s" % (_("Days"), _("Hours"), _("Minutes")),
                        120,
                        centered=True)
        o_columns.nueva("POSICIONES", _("Num. puzzles"), 100, centered=True)
        o_columns.nueva("SECONDS", _("Working time"), 100, centered=True)
        o_columns.nueva("ERRORS", _("Errors"), 100, centered=True)
        self.ghistorico = Grid.Grid(self,
                                    o_columns,
                                    siSelecFilas=True,
                                    siSeleccionMultiple=True)
        self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20)

        # Tool bar
        li_acciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            (_("Train"), Iconos.Empezar(), "entrenar"),
            (_("New"), Iconos.Nuevo(), "nuevo"),
            (_("Remove"), Iconos.Borrar(), "borrar"),
        )
        self.tb = Controles.TB(self, li_acciones)
        accion = "nuevo" if tactica.finished() else "entrenar"
        self.pon_toolbar("terminar", accion, "borrar")

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3)

        self.setLayout(ly)

        self.register_grid(self.ghistorico)
        self.restore_video(siTam=False)

        self.ghistorico.gotop()
Beispiel #19
0
    def __init__(self, owner, test, procesador, titulo, icono):

        QTVarios.WDialogo.__init__(self, owner, titulo, icono, "horses")

        self.historico = owner.historico
        self.procesador = owner.procesador
        self.configuracion = self.procesador.configuracion

        self.test = test

        # Tablero
        confTablero = self.configuracion.confTablero("HORSES", 48)

        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponMensajero(self.mueveHumano)

        # Rotulo tiempo
        self.lbInformacion = Controles.LB(
            self,
            _("Goal: to capture the king up to the square a8")).alinCentrado()
        self.lbMoves = Controles.LB(self, "")

        # Tool bar
        liAcciones = (
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            (_("Reinit"), Iconos.Reiniciar(), "reiniciar"),
            (_("Help"), Iconos.AyudaGR(), "ayuda"),
        )
        self.tb = Controles.TB(self, liAcciones)

        # Layout
        lyInfo = Colocacion.H().control(self.lbInformacion).relleno().control(
            self.lbMoves)
        lyT = Colocacion.V().relleno().control(
            self.tablero).otro(lyInfo).relleno().margen(10)

        ly = Colocacion.V().control(self.tb).otro(lyT).relleno().margen(0)

        self.setLayout(ly)

        self.recuperarVideo()
        self.adjustSize()

        liTB = ["cancelar", "reiniciar", "ayuda"]
        self.ponToolBar(liTB)

        self.reset()
Beispiel #20
0
    def __init__(self, procesador, test, titulo, tabla, icono):

        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono,
                                   "horsesBase")

        self.procesador = procesador
        self.configuracion = procesador.configuracion
        self.tabla = tabla
        self.icono = icono
        self.test = test
        self.titulo = titulo

        self.historico = HorsesHistorico(self.configuracion.ficheroHorses,
                                         tabla)

        # Historico
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("FECHA", _("Date"), 120, siCentrado=True)
        oColumnas.nueva("MOVES", _("Moves"), 100, siCentrado=True)
        oColumnas.nueva("SECONDS", _("Second(s)"), 80, siCentrado=True)
        oColumnas.nueva("HINTS", _("Hints"), 90, siCentrado=True)
        self.ghistorico = Grid.Grid(self,
                                    oColumnas,
                                    siSelecFilas=True,
                                    siSeleccionMultiple=True)
        self.ghistorico.setMinimumWidth(self.ghistorico.anchoColumnas() + 20)

        # Tool bar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Start"), Iconos.Empezar(), "empezar"),
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
        )
        self.tb = Controles.TB(self, liAcciones)
        self.ponToolBar(["terminar", "empezar", "borrar"])

        # Colocamos
        lyTB = Colocacion.H().control(self.tb).margen(0)
        ly = Colocacion.V().otro(lyTB).control(self.ghistorico).margen(3)

        self.setLayout(ly)

        self.registrarGrid(self.ghistorico)
        self.recuperarVideo(siTam=False)

        self.ghistorico.gotop()
    def __init__(self, wParent):

        titulo = _("Tournaments between engines")
        icono = Iconos.Torneos()
        extparam = "torneos"
        super().__init__(parent=wParent,
                         titulo=titulo,
                         icono=icono,
                         extparam=extparam)

        self.configuracion = VarGen.configuracion

        # Datos
        self.lista = self.leeTorneos()
        self.xjugar = None

        # Toolbar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar", True),
            (_("New"), Iconos.Nuevo(), "crear", True),
            (_("Modify"), Iconos.Modificar(), "modificar", False),
            (_("Copy"), Iconos.Copiar(), "copiar", False),
            (_("Remove"), Iconos.Borrar(), "borrar", False),
        )
        li = []
        siTodos = len(self.lista) > 0
        for txt, ico, clv, siT in liAcciones:
            if siTodos or siT:
                li.append((txt, ico, clv))
                li.append(None)
        tb = Controles.TB(self, li)

        # grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NOMBRE", _("Name"), 240)
        oColumnas.nueva("FECHA", _("Date"), 120, siCentrado=True)

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

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(8)
        self.setLayout(layout)

        self.recuperarVideo(siTam=True, anchoDefecto=400, altoDefecto=500)

        self.grid.gotop()
Beispiel #22
0
    def __init__(self, owner, tactica, ncopia):

        QTVarios.WDialogo.__init__(self, owner, _X(_("Configuration of %1"), tactica.titulo), Iconos.Tacticas(),
                                   "editaTactica")

        self.tactica = tactica

        liAcciones = ((_("Accept"), Iconos.Aceptar(), "aceptar"), None,
                      (_("Cancel"), Iconos.Cancelar(), "cancelar"), None,
                      (_("Help"), Iconos.AyudaGR(), "ayuda"), None,
                      )
        tb = Controles.TB(self, liAcciones)

        self.wtactic = WConfTactics(self, tactica, ncopia)

        layout = Colocacion.V().control(tb).control(self.wtactic)
        self.setLayout(layout)
Beispiel #23
0
    def __init__(self, procesador):

        self.procesador = procesador

        self.db = UtilSQL.DictSQL(procesador.configuracion.file_sounds(),
                                  "general")
        self.creaListaSonidos()

        titulo = _("Custom sounds")
        icono = Iconos.S_Play()
        extparam = "sounds"
        QTVarios.WDialogo.__init__(self, procesador.main_window, titulo, icono,
                                   extparam)

        # Toolbar
        li_acciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Modify"), Iconos.Modificar(), "modificar"),
            None,
            (_("Listen"), Iconos.S_Play(), "play"),
        )
        tb = Controles.TB(self, li_acciones)

        # Lista
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("SONIDO", _("Sound"), 300, centered=True)
        o_columns.nueva("DURACION", _("Duration"), 60, centered=True)

        self.grid = Grid.Grid(self, o_columns, siSelecFilas=True)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(3)
        self.setLayout(layout)

        self.grid.gotop()
        self.grid.setFocus()

        self.siPlay = False

        self.register_grid(self.grid)

        if not self.restore_video():
            self.resize(self.grid.anchoColumnas() + 30, 600)
Beispiel #24
0
    def __init__(self, procesador):

        self.procesador = procesador

        self.db = Util.DicBLOB(procesador.configuracion.ficheroSounds,
                               "general")
        self.creaListaSonidos()

        titulo = _("Custom sounds")
        icono = Iconos.S_Play()
        extparam = "sounds"
        super().__init__(titulo=titulo, icono=icono, extparam=extparam)

        # Toolbar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Modify"), Iconos.Modificar(), "modificar"),
            None,
            (_("Listen"), Iconos.S_Play(), "play"),
        )
        tb = Controles.TB(self, liAcciones)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("SONIDO", _("Sound"), 300, siCentrado=True)
        oColumnas.nueva("DURACION", _("Duration"), 60, siCentrado=True)

        self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(3)
        self.setLayout(layout)

        self.grid.gotop()
        self.grid.setFocus()

        self.siPlay = False

        self.registrarGrid(self.grid)

        if not self.recuperarVideo():
            self.resize(self.grid.anchoColumnas() + 30, 600)
    def __init__(self, entrenamientos):

        entrenamientos.comprueba()
        self.entrenamientos = entrenamientos
        self.procesador = entrenamientos.procesador
        self.liFavoritos = self.procesador.configuracion.liFavoritos

        super().__init__(titulo=_("Training favorites"),
                         icono=Iconos.Corazon(),
                         extparam="favoritos")

        # Toolbar
        liAcciones = [
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("New"), Iconos.Nuevo(), "nuevo"),
            None,
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
            (_("Up"), Iconos.Arriba(), "arriba"),
            None,
            (_("Down"), Iconos.Abajo(), "abajo"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("OPCION", _("Training"), 400)

        self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True)
        self.grid.setMinimumWidth(self.grid.anchoColumnas() + 20)
        f = Controles.TipoLetra(puntos=10, peso=75)
        self.grid.setFont(f)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).relleno()
        self.setLayout(layout)

        self.recuperarVideo(siTam=True)

        self.grid.gotop()
    def __init__(self, procesador):

        self.configuracion = procesador.configuracion

        self.leeUsuarios()

        titulo = _("Users")
        icono = Iconos.Usuarios()
        extparam = "users"
        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono, extparam)

        # Toolbar
        liAcciones = (  ( _("Accept"), Iconos.Aceptar(), "aceptar" ), None,
                        ( _("Cancel"), Iconos.Cancelar(), "cancelar" ), None,
                        ( _("New"), Iconos.Nuevo(), "nuevo" ), None,
                        ( _("Remove"), Iconos.Borrar(), "borrar" ), None,
        )
        tb = Controles.TB(self, liAcciones)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 40, siCentrado=True)
        oColumnas.nueva("USUARIO", _("User"), 140, edicion=Delegados.LineaTextoUTF8())
        oColumnas.nueva("PASSWORD", _("Password"), 100, edicion=Delegados.LineaTextoUTF8(siPassword=True))

        self.grid = Grid.Grid(self, oColumnas, siEditable=True)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(3)
        self.setLayout(layout)

        self.grid.gotop()
        self.grid.setFocus()

        self.siPlay = False

        self.registrarGrid(self.grid)

        if not self.recuperarVideo():
            self.resize(310, 400)
Beispiel #27
0
    def __init__(self, wParent, liGM):

        super(WImportar, self).__init__(wParent)

        self.liGM = liGM

        self.setWindowTitle(_("Import"))
        self.setWindowIcon(Iconos.ImportarGM())
        self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint
                            | QtCore.Qt.WindowMinimizeButtonHint
                            | QtCore.Qt.WindowMaximizeButtonHint)

        # Toolbar
        liAcciones = [
            (_("Import"), Iconos.Aceptar(), "aceptar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            None,
            (_("Mark"), Iconos.Marcar(), "marcar"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ELEGIDO", "", 22, siChecked=True)
        oColumnas.nueva("NOMBRE", _("Grandmaster"), 140)
        oColumnas.nueva("PARTIDAS", _("Games"), 60, siDerecha=True)

        self.grid = Grid.Grid(self, oColumnas)
        n = self.grid.anchoColumnas()
        self.grid.setFixedWidth(n + 20)

        # Layout
        layout = Colocacion.V().control(tb).control(self.grid).margen(3)
        self.setLayout(layout)
Beispiel #28
0
    def __init__(self, wParent, torneo):

        titulo = _("Competition")
        icono = Iconos.Torneos()
        extparam = "untorneo"
        QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam)

        self.configuracion = VarGen.configuracion

        # Datos
        self.torneo = torneo
        self.liEnActual = []
        self.xjugar = None
        self.liResult = None

        # Toolbar
        liAcciones = (
            (_("Save") + "+" + _("Quit"), Iconos.MainMenu(), "terminar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "cancelar"),
            None,
            (_("Play"), Iconos.Empezar(), "gmJugar"),
            None,
        )
        tb = Controles.TB(self, liAcciones)

        # Tabs
        self.tab = tab = Controles.Tab()

        # Tab-configuracion --------------------------------------------------
        w = QtGui.QWidget()
        # # Nombre
        lbNombre = Controles.LB(self, _("Name") + ": ")
        self.edNombre = Controles.ED(w, torneo.nombre())
        # # Resign
        lbResign = Controles.LB(self,
                                _("Minimum points to assign winner") + ": ")
        self.sbResign = Controles.SB(self, torneo.resign(), 60, 10000)
        # Draw-plys
        lbDrawMinPly = Controles.LB(self,
                                    _("Minimum moves to assign draw") + ": ")
        self.sbDrawMinPly = Controles.SB(self, torneo.drawMinPly(), 20, 9999)
        # Draw-puntos
        lbDrawRange = Controles.LB(self,
                                   _("Maximum points to assign draw") + ": ")
        self.sbDrawRange = Controles.SB(self, torneo.drawRange(), 0, 50)

        lbBook = Controles.LB(self, _("Opening book") + ": ")
        fvar = self.configuracion.ficheroBooks
        self.listaLibros = Books.ListaLibros()
        self.listaLibros.recuperaVar(fvar)
        # Comprobamos que todos esten accesibles
        self.listaLibros.comprueba()
        li = [(x.nombre, x.path) for x in self.listaLibros.lista]
        li.insert(0, ("* " + _("Default"), ""))
        self.cbBooks = Controles.CB(self, li, torneo.book())
        btNuevoBook = Controles.PB(self, "", self.nuevoBook,
                                   plano=False).ponIcono(Iconos.Nuevo(),
                                                         tamIcon=16)
        lyBook = Colocacion.H().control(
            self.cbBooks).control(btNuevoBook).relleno()

        # Posicion inicial
        lbFEN = Controles.LB(self, _("Initial position") + ": ")
        self.fen = torneo.fen()
        self.btPosicion = Controles.PB(self, " " * 5 + _("Change") + " " * 5,
                                       self.posicionEditar).ponPlano(False)
        self.btPosicionQuitar = Controles.PB(
            self, "", self.posicionQuitar).ponIcono(Iconos.Motor_No())
        self.btPosicionPegar = Controles.PB(self, "",
                                            self.posicionPegar).ponIcono(
                                                Iconos.Pegar16()).ponToolTip(
                                                    _("Paste FEN position"))
        lyFEN = Colocacion.H().control(self.btPosicionQuitar).control(
            self.btPosicion).control(self.btPosicionPegar).relleno()

        # Norman Pollock
        lbNorman = Controles.LB(
            self,
            '%s(<a href="http://www.hoflink.com/~npollock/40H.html">?</a>): ' %
            _("Initial position from Norman Pollock openings database"))
        self.chbNorman = Controles.CHB(self, " ", self.torneo.norman())

        # Layout
        layout = Colocacion.G()
        layout.controld(lbNombre, 0, 0).control(self.edNombre, 0, 1)
        layout.controld(lbResign, 1, 0).control(self.sbResign, 1, 1)
        layout.controld(lbDrawMinPly, 2, 0).control(self.sbDrawMinPly, 2, 1)
        layout.controld(lbDrawRange, 3, 0).control(self.sbDrawRange, 3, 1)
        layout.controld(lbBook, 4, 0).otro(lyBook, 4, 1)
        layout.controld(lbFEN, 5, 0).otro(lyFEN, 5, 1)
        layout.controld(lbNorman, 6, 0).control(self.chbNorman, 6, 1)
        layoutV = Colocacion.V().relleno().otro(layout).relleno()
        layoutH = Colocacion.H().relleno().otro(layoutV).relleno()

        # Creamos
        w.setLayout(layoutH)
        tab.nuevaTab(w, _("Configuration"))

        # Tab-engines --------------------------------------------------
        self.splitterEngines = QtGui.QSplitter(self)
        self.registrarSplitter(self.splitterEngines, "engines")
        # TB
        liAcciones = [
            (_("New"), Iconos.TutorialesCrear(), "enNuevo"),
            None,
            (_("Modify"), Iconos.Modificar(), "enModificar"),
            None,
            (_("Remove"), Iconos.Borrar(), "enBorrar"),
            None,
            (_("Copy"), Iconos.Copiar(), "enCopiar"),
            None,
            (_("Import"), Iconos.MasDoc(), "enImportar"),
            None,
        ]
        tbEnA = Controles.TB(self, liAcciones, tamIcon=24)

        # Grid engine
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ALIAS", _("Alias"), 209)
        self.gridEnginesAlias = Grid.Grid(self,
                                          oColumnas,
                                          siSelecFilas=True,
                                          xid="EA",
                                          siSeleccionMultiple=True)
        self.registrarGrid(self.gridEnginesAlias)

        w = QtGui.QWidget()
        ly = Colocacion.V().control(self.gridEnginesAlias).margen(0)
        w.setLayout(ly)
        self.splitterEngines.addWidget(w)

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("CAMPO", _("Label"), 200, siDerecha=True)
        oColumnas.nueva("VALOR", _("Value"), 286)
        self.gridEnginesValores = Grid.Grid(self,
                                            oColumnas,
                                            siSelecFilas=False,
                                            xid="EV")
        self.registrarGrid(self.gridEnginesValores)

        w = QtGui.QWidget()
        ly = Colocacion.V().control(self.gridEnginesValores).margen(0)
        w.setLayout(ly)
        self.splitterEngines.addWidget(w)

        self.splitterEngines.setSizes([250, 520])  # por defecto

        w = QtGui.QWidget()
        ly = Colocacion.V().control(tbEnA).control(self.splitterEngines)
        w.setLayout(ly)
        tab.nuevaTab(w, _("Engines"))

        # Creamos

        # Tab-games --------------------------------------------------
        w = QtGui.QWidget()
        # TB
        liAcciones = [
            (_("New"), Iconos.TutorialesCrear(), "gmCrear"),
            None,
            (_("Remove"), Iconos.Borrar(), "gmBorrar"),
            None,
            (_("Show"), Iconos.PGN(), "gmMostrar"),
            None,
            (_("Save") + "(%s)" % _("PGN"), Iconos.GrabarComo(), "gmGuardar"),
            None,
        ]
        tbEnG = Controles.TB(self, liAcciones, tamIcon=24)
        # Grid engine
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("WHITE", _("White"), 190, siCentrado=True)
        oColumnas.nueva("BLACK", _("Black"), 190, siCentrado=True)
        oColumnas.nueva("RESULT", _("Result"), 190, siCentrado=True)
        oColumnas.nueva("TIEMPO", _("Time"), 170, siCentrado=True)
        self.gridGames = Grid.Grid(self,
                                   oColumnas,
                                   siSelecFilas=True,
                                   xid="G",
                                   siSeleccionMultiple=True)
        self.registrarGrid(self.gridGames)
        # Layout
        layout = Colocacion.V().control(tbEnG).control(self.gridGames)

        # Creamos
        w.setLayout(layout)
        tab.nuevaTab(w, _("Games"))

        # Tab-resultado --------------------------------------------------
        w = QtGui.QWidget()

        # Grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True)
        oColumnas.nueva("MOTOR", _("Engine"), 190, siCentrado=True)
        oColumnas.nueva("GANADOS", _("Wins"), 120, siCentrado=True)
        oColumnas.nueva("PERDIDOS", _("Lost"), 120, siCentrado=True)
        oColumnas.nueva("TABLAS", _("Draw"), 120, siCentrado=True)
        oColumnas.nueva("PUNTOS", _("Points"), 120, siCentrado=True)
        self.gridResult = Grid.Grid(self,
                                    oColumnas,
                                    siSelecFilas=True,
                                    xid="R")
        self.registrarGrid(self.gridResult)
        # Layout
        layout = Colocacion.V().control(self.gridResult)

        # Creamos
        w.setLayout(layout)
        tab.nuevaTab(w, _("Result"))

        # Layout
        layout = Colocacion.V().control(tb).control(tab).margen(8)
        self.setLayout(layout)

        self.recuperarVideo(siTam=True, anchoDefecto=800, altoDefecto=430)

        self.gridEnginesAlias.gotop()

        self.edNombre.setFocus()

        self.muestraPosicion()
    def __init__(self, owner, regFlecha, siNombre):

        QtGui.QDialog.__init__(self, owner)

        self.setWindowTitle(_("Arrow"))
        self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint)

        self.siNombre = siNombre

        if not regFlecha:
            regFlecha = TabVisual.PFlecha()

        liAcciones = [
            (_("Save"), Iconos.Aceptar(), "grabar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "reject"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        confTablero = owner.tablero.confTablero.copia(
            owner.tablero.confTablero.id())
        confTablero.anchoPieza(32)
        self.tablero = Tablero.TableroVisual(self, confTablero)
        self.tablero.crea()
        self.tablero.copiaPosicionDe(owner.tablero)

        # Datos generales
        liGen = []

        if siNombre:
            # nombre de la flecha que se usara en los menus del tutorial
            config = FormLayout.Editbox(_("Name"), ancho=120)
            liGen.append((config, regFlecha.nombre))

        # ( "forma", "t", "a" ), # a = abierta -> , c = cerrada la cabeza, p = poligono cuadrado,
        liFormas = (
            (_("Opened"), "a"),
            (_("Head closed"), "c"),
            (_("Polygon  1"), "1"),
            (_("Polygon  2"), "2"),
            (_("Polygon  3"), "3"),
        )
        config = FormLayout.Combobox(_("Form"), liFormas)
        liGen.append((config, regFlecha.forma))

        # ( "tipo", "n", Qt.SolidLine ), #1=SolidLine, 2=DashLine, 3=DotLine, 4=DashDotLine, 5=DashDotDotLine
        config = FormLayout.Combobox(_("Line Type"), QTUtil2.tiposDeLineas())
        liGen.append((config, regFlecha.tipo))

        # liGen.append( (None,None) )

        # ( "color", "n", 0 ),
        config = FormLayout.Colorbox(_("Color"), 80, 20)
        liGen.append((config, regFlecha.color))

        # ( "colorinterior", "n", -1 ), # si es cerrada
        config = FormLayout.Colorbox(_("Internal color"),
                                     80,
                                     20,
                                     siChecked=True)
        liGen.append((config, regFlecha.colorinterior))

        # ( "opacidad", "n", 1.0 ),
        config = FormLayout.Dial(_("Degree of transparency"), 0, 99)
        liGen.append((config, 100 - int(regFlecha.opacidad * 100)))

        # liGen.append( (None,None) )

        # ( "redondeos", "l", False ),
        liGen.append((_("Rounded edges"), regFlecha.redondeos))

        # ( "grosor", "n", 1 ), # ancho del trazo
        config = FormLayout.Spinbox(_("Thickness"), 1, 20, 50)
        liGen.append((config, regFlecha.grosor))

        # liGen.append( (None,None) )

        # ( "altocabeza", "n", 1 ), # altura de la cabeza
        config = FormLayout.Spinbox(_("Head height"), 0, 100, 50)
        liGen.append((config, regFlecha.altocabeza))

        # ( "ancho", "n", 10 ), # ancho de la base de la flecha si es un poligono
        config = FormLayout.Spinbox(_("Base width"), 1, 100, 50)
        liGen.append((config, regFlecha.ancho))

        # ( "vuelo", "n", 5 ), # vuelo de la flecha respecto al ancho de la base
        config = FormLayout.Spinbox(
            _("Additional width of the base of the head"), 1, 100, 50)
        liGen.append((config, regFlecha.vuelo))

        # ( "descuelgue", "n", 2 ), # vuelo hacia arriba
        config = FormLayout.Spinbox(_("Height of the base angle of the head"),
                                    -100, 100, 50)
        liGen.append((config, regFlecha.descuelgue))

        # liGen.append( (None,None) )

        # ( "destino", "t", "c" ), # c = centro, m = minimo
        config = FormLayout.Combobox(_("Target position"), tiposDestino())
        liGen.append((config, regFlecha.destino))

        # liGen.append( (None,None) )

        # orden
        config = FormLayout.Combobox(_("Order concerning other items"),
                                     QTUtil2.listaOrdenes())
        liGen.append((config, regFlecha.posicion.orden))

        self.form = FormLayout.FormWidget(liGen, dispatch=self.cambios)

        # Layout
        layout = Colocacion.H().control(self.form).relleno().control(
            self.tablero)
        layout1 = Colocacion.V().control(tb).otro(layout)
        self.setLayout(layout1)

        # Ejemplos
        liMovs = ["d2d6", "a8h8", "h5b7"]
        self.liEjemplos = []
        for a1h8 in liMovs:
            regFlecha.a1h8 = a1h8
            regFlecha.siMovible = True
            flecha = self.tablero.creaFlecha(regFlecha)
            self.liEjemplos.append(flecha)
    def __init__(self, owner, listaFlechas, dbFlechas):

        titulo = _("Arrows")
        icono = Iconos.Flechas()
        extparam = "flechas"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.owner = owner

        flb = Controles.TipoLetra(puntos=8)

        self.configuracion = VarGen.configuracion

        self.dbFlechas = dbFlechas

        self.liPFlechas = owner.listaFlechas()

        # Lista
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("NUMERO", _("N."), 60, siCentrado=True)
        oColumnas.nueva("NOMBRE", _("Name"), 256)

        self.grid = Grid.Grid(self, oColumnas, xid="F", siSelecFilas=True)

        liAcciones = [
            (_("Close"), Iconos.MainMenu(), "terminar"),
            None,
            (_("New"), Iconos.Nuevo(), "mas"),
            None,
            (_("Remove"), Iconos.Borrar(), "borrar"),
            None,
            (_("Modify"), Iconos.Modificar(), "modificar"),
            None,
            (_("Copy"), Iconos.Copiar(), "copiar"),
            None,
            (_("Up"), Iconos.Arriba(), "arriba"),
            None,
            (_("Down"), Iconos.Abajo(), "abajo"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)
        tb.setFont(flb)

        ly = Colocacion.V().control(tb).control(self.grid)

        # Tablero
        confTablero = owner.tablero.confTablero
        self.tablero = Tablero.TableroVisual(self, confTablero)
        self.tablero.crea()
        self.tablero.copiaPosicionDe(owner.tablero)

        # Layout
        layout = Colocacion.H().otro(ly).control(self.tablero)
        self.setLayout(layout)

        self.registrarGrid(self.grid)
        self.recuperarVideo()

        # Ejemplos
        liMovs = ["d2d6", "a8h8", "h5b7"]
        self.liEjemplos = []
        regFlecha = TabTipos.Flecha()
        for a1h8 in liMovs:
            regFlecha.a1h8 = a1h8
            regFlecha.siMovible = True
            flecha = self.tablero.creaFlecha(regFlecha)
            self.liEjemplos.append(flecha)

        self.grid.gotop()
        self.grid.setFocus()