Exemplo n.º 1
0
 def config(self):
     menu = QTVarios.LCMenu(self)
     menu.opcion("show", _("Show board") if self.hideBoard else _("Hide board"), Iconos.Camara())
     resp = menu.lanza()
     if resp:
         self.hideBoard = not self.hideBoard
         self.configuracion.escVariables("STSRUN", {"HIDEBOARD": self.hideBoard})
         self.setViewBoard()
Exemplo n.º 2
0
    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 = []
Exemplo n.º 3
0
    def nuevo(self):
        menu = QTVarios.LCMenu(self)
        menu.opcion(("engine", None), _("Engine"), Iconos.Motor())
        menu.separador()

        submenu = menu.submenu(_("Polyglot book"), Iconos.Book())
        list_books = Books.ListBooks()
        list_books.restore_pickle(self.configuration.file_books)
        list_books.check()
        rondo = QTVarios.rondoPuntos()
        for book in list_books.lista:
            submenu.opcion(("book", book), book.name, rondo.otro())
            submenu.separador()
        submenu.opcion(("installbook", None), _("Install new book"),
                       Iconos.Nuevo())
        menu.separador()

        si_gaviota = True
        si_index = True
        for kib in self.kibitzers.lista:
            if kib.tipo == Kibitzers.KIB_GAVIOTA:
                si_gaviota = False
            elif kib.tipo == Kibitzers.KIB_INDEXES:
                si_index = False
        if si_index:
            menu.opcion(("index", None),
                        _("Indexes") + " - RodentII", Iconos.Camara())
            menu.separador()
        if si_gaviota:
            menu.opcion(("gaviota", None), _("Gaviota Tablebases"),
                        Iconos.Finales())

        resp = menu.lanza()
        if resp:
            orden, extra = resp

            if orden == "engine":
                self.nuevo_engine()
            elif orden in "book":
                num = self.kibitzers.nuevo_polyglot(extra)
                self.goto(num)
            elif orden == "gaviota":
                num = self.kibitzers.nuevo_gaviota()
                self.goto(num)
            elif orden == "index":
                num = self.kibitzers.nuevo_index()
                self.goto(num)
            elif orden in "installbook":
                self.polyglot_install(list_books)
Exemplo n.º 4
0
    def __init__(self, tableroOwner):

        self.tableroOwner = tableroOwner
        titulo = _("Board -> Image")
        icono = Iconos.Camara()
        extparam = "tabvisual"
        QTVarios.WDialogo.__init__(self, tableroOwner, titulo, icono, extparam)

        liAcciones = [( _("Quit"), Iconos.MainMenu(), "terminar" ), None,
                      ( _("Clipboard"), Iconos.Clip(), "portapapeles" ), None,
                      ( _("Save") + " png", Iconos.GrabarFichero(), "grabarFichero" ), None,
                      ( _("Arrows"), Iconos.Flechas(), "flechas" ), None,
                      ( _("Boxes"), Iconos.Marcos(), "marcos" ), None,
                      ( _("Images"), Iconos.SVGs(), "svgs" ), None,
                      # ( _( "Sounds" ), Iconos.S_LeerWav(), "sonidos" ), None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        idTab = "TABVISUAL"
        confTablero = VarGen.configuracion.confTablero(idTab, 24, padre=tableroOwner.confTablero.id())
        self.tablero = Tablero.TableroVisual(self, confTablero)
        self.tablero.crea()
        self.tablero.ponDispatchEventos(self.dispatch)
        self.tablero.dispatchSize(self.tableroCambiadoTam)
        self.tablero.baseCasillasSC.setAcceptDrops(True)
        self.tablero.ponMensajero(self.muevePieza)

        self.tablero.copiaPosicionDe(tableroOwner)
        self.fenInicial = self.tablero.fenActual()
        self.tablero.activaTodas()

        self.leeRecursos()
        self.leeGuion("", False)

        # Tools
        self.listaPiezasW = QTVarios.ListaPiezas(self, "P;N;B;R;Q;K", self.tablero, 32)
        self.listaPiezasB = QTVarios.ListaPiezas(self, "p;n;b;r;q;k", self.tablero, 32)

        # Guion
        liAcciones = [( _("New"), Iconos.Nuevo(), "gnuevo" ),
                      ( _("Insert"), Iconos.Insertar(), "ginsertar" ),
                      ( _("Copy"), Iconos.Copiar(), "gcopiar" ), None,
                      ( _("Remove"), Iconos.Borrar(), "gborrar" ), None,
                      ( _("Up"), Iconos.Arriba(), "garriba" ),
                      ( _("Down"), Iconos.Abajo(), "gabajo" ), None,
                      ( _("Mark"), Iconos.Marcar(), "gmarcar" ), None,
                      ( _("Save"), Iconos.Grabar(), "ggrabarGuion" ),
                      ( _("Open"), Iconos.Recuperar(), "grecuperarGuion" ), None,
                      ( _("Remove script"), Iconos.Delete(), "geliminarGuion" )
        ]
        tbGuion = Controles.TB(self, liAcciones, siTexto=False, tamIcon=20)
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("MARCADO", "", 20, siCentrado=True, siChecked=True)
        oColumnas.nueva("TIPO", _("Type"), 50, siCentrado=True)
        oColumnas.nueva("NOMBRE", _("Name"), 100, siCentrado=True, edicion=Delegados.LineaTextoUTF8())
        oColumnas.nueva("INFO", _("Information"), 100, siCentrado=True)
        self.g_guion = Grid.Grid(self, oColumnas, siCabeceraMovible=False, siEditable=True, siSeleccionMultiple=True)
        self.g_guion.gotop()

        self.registrarGrid(self.g_guion)

        # Visuales
        self.dragBandaArriba = QTVarios.DragBanda(self, (10,), 40)

        # Guion
        lyGuion = Colocacion.V().control(tbGuion).control(self.g_guion)

        # Zona tablero
        lyT = Colocacion.H()
        lyT.controli(self.listaPiezasW).controli(self.tablero).controli(self.listaPiezasB).otro(lyGuion)

        lyTB = Colocacion.V()
        lyTB.controli(self.dragBandaArriba)
        lyTB.otro(lyT)

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

        self.recuperarVideo()

        self.actualizaBandas()
        li = self.dbConfig["DRAGBANDAARRIBA"]
        if li:
            self.dragBandaArriba.recuperar(li)

        self.ultDesde = "d4"
        self.ultHasta = "e5"

        self.g_guion.gotop()
        self.g_guion.setFocus()