def utilidades(self):
        menu = QTVarios.LCMenu(self)
        submenu = menu.submenu(_("Analysis"), Iconos.Analizar())
        submenu.opcion(self.ta_massive, _("Mass analysis"), Iconos.Analizar())
        submenu.separador()
        submenu.opcion(self.ta_remove, _("Delete all previous analysis"),
                       Iconos.Delete())
        menu.separador()
        lihistory = self.dbop.lihistory()
        if lihistory:
            submenu = menu.submenu(_("Backups"), Iconos.Copiar())
            rondo = QTVarios.rondoPuntos()
            for history in lihistory[:30]:
                h = history
                if len(h) > 70:
                    h = h[:70] + "..."
                submenu.opcion(history, h, rondo.otro())
                submenu.separador()

        # submenu = menu.submenu(_("History of this session"), Iconos.Copiar())
        resp = menu.lanza()
        if resp:
            if isinstance(resp, (str, unicode)):
                if QTUtil2.pregunta(
                        self,
                        _("Are you sure you want to restore backup %s ?" %
                          ("\n%s" % resp))):
                    um = QTUtil2.unMomento(self, _("Working..."))
                    self.dbop.rechistory(resp)
                    self.glines.refresh()
                    self.glines.gotop()
                    um.final()
            else:
                resp()
Exemplo n.º 2
0
 def utilidades(self):
     menu = QTVarios.LCMenu(self)
     submenu = menu.submenu(_("Analysis"), Iconos.Analizar())
     submenu.opcion(self.ta_massive, _("Mass analysis"), Iconos.Analizar())
     submenu.separador()
     submenu.opcion(self.ta_remove, _("Delete all previous analysis"), Iconos.Delete())
     menu.separador()
     resp = menu.lanza()
     if resp:
         resp()
Exemplo n.º 3
0
    def menuAnalizar(self, fenM2, menu, siShowMoves):

        liAnalisis, nActivo = self.dbAnalisis.lista(fenM2)

        # Si tiene ya analisis, lo pedimos o nuevo
        if liAnalisis:
            if menu is None:
                submenu = QTVarios.LCMenu(self.pantalla)
            else:
                submenu = menu.submenu(_("Analyze"), Iconos.Analizar())
            if nActivo is not None:
                submenu.opcion("an_use_%d" % nActivo,
                               liAnalisis[nActivo].rotulo,
                               Iconos.Seleccionado(),
                               siDeshabilitado=True)
            submenu.separador()
            for n, mrm in enumerate(liAnalisis):
                if n != nActivo:
                    submenu.opcion("an_use_%d" % n, mrm.rotulo,
                                   Iconos.PuntoAzul())
            submenu.separador()

            submenu.opcion("an_new", _("New analysis"), Iconos.Mas())
            submenu.separador()

            if self.dbAnalisis.activo(fenM2) is not None:
                submenu.opcion("an_hide", _("Hide analysis"), Iconos.Ocultar())
                submenu.separador()
                if siShowMoves:
                    submenu.opcion("an_show", _("Show moves"),
                                   Iconos.Pelicula())
                    submenu.separador()

            menu1 = submenu.submenu(_("Remove"), Iconos.Delete())
            for n, mrm in enumerate(liAnalisis):
                menu1.opcion("an_rem_%d" % n, mrm.rotulo, Iconos.PuntoRojo())
                menu1.separador()

            if menu is None:
                return submenu.lanza()

        else:
            if menu is None:
                return "an_new"
            else:
                menu.opcion("an_new", _("Analyze"), Iconos.Analizar())
Exemplo n.º 4
0
    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()
Exemplo n.º 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()
Exemplo n.º 6
0
 def tw_utilities(self):
     menu = QTVarios.LCMenu(self)
     menu.opcion(self.tw_massive_analysis, _("Mass analysis"), Iconos.Analizar())
     menu.separador()
     menu.opcion(self.tw_polyglot, _("Create a polyglot book"), Iconos.Book())
     menu.separador()
     menu.opcion(self.tw_pack, _("Pack database"), Iconos.Pack())
     resp = menu.lanza()
     if resp:
         resp()
Exemplo n.º 7
0
 def tw_utilities(self):
     menu = QTVarios.LCMenu(self)
     ico = Iconos.PuntoAzul()
     menu1 = menu.submenu(_("Polyglot book"), ico)
     menu1.opcion(self.tw_uti_pcreate, _("Create a new book"), ico)
     menu1.separador()
     menu1.opcion(self.tw_uti_pmerge, _("Merge two books in one"), ico)
     menu.separador()
     menu.opcion(self.tw_massive_change_tags, _("Massive change of tags"), Iconos.PGN())
     menu.separador()
     menu.opcion(self.tw_massive, _("Mass analysis"), Iconos.Analizar())
     menu.separador()
     menu.opcion(self.tw_play_against, _("Play against a game"), Iconos.Law())
     resp = menu.lanza()
     if resp:
         resp()
Exemplo n.º 8
0
    def __init__(self, owner, procesador):
        QtWidgets.QWidget.__init__(self)

        self.owner = owner

        # Tree
        self.tree = TreeMoves(owner, procesador)

        # ToolBar
        self.tb = Controles.TBrutina(self, with_text=False, icon_size=24)
        self.tb.new(_("Open new branch"), Iconos.Mas(), self.rama)
        self.tb.new(_("Show") + "/" + _("Hide"), Iconos.Mostrar(), self.mostrar)
        self.tb.new(_("Rating"), self.tree.iconoValoracion(3), self.valorar)
        self.tb.new(_("Analyze"), Iconos.Analizar(), self.analizar)
        self.tb.new(_("Comments"), Iconos.ComentarioEditar(), self.comment)

        layout = Colocacion.V().control(self.tb).control(self.tree).margen(1)

        self.setLayout(layout)
Exemplo n.º 9
0
    def ta_massive(self):
        dicVar = self.configuracion.leeVariables("MASSIVE_OLINES")

        liGen = [FormLayout.separador]

        config = FormLayout.Combobox(
            _("Engine"), self.configuracion.comboMotoresMultiPV10(4))
        liGen.append((config, dicVar.get("ENGINE", self.configuracion.tutor)))

        liGen.append(
            (_("Duration of engine analysis (secs)") + ":",
             dicVar.get("SEGUNDOS",
                        float(self.configuracion.tiempoTutor / 1000.0))))
        liDepths = [("--", 0)]
        for x in range(1, 51):
            liDepths.append((str(x), x))
        config = FormLayout.Combobox(_("Depth"), liDepths)
        liGen.append((config, dicVar.get("DEPTH",
                                         self.configuracion.depthTutor)))

        li = [(_("Maximum"), 0)]
        for x in (1, 3, 5, 10, 15, 20, 30, 40, 50, 75, 100, 150, 200):
            li.append((str(x), x))
        config = FormLayout.Combobox(
            _("Number of moves evaluated by engine(MultiPV)"), li)
        liGen.append(
            (config, dicVar.get("MULTIPV", self.configuracion.tutorMultiPV)))

        liGen.append(FormLayout.separador)
        liGen.append(
            (_("Redo any existing prior analyses (if they exist)") + ":",
             dicVar.get("REDO", False)))

        resultado = FormLayout.fedit(liGen,
                                     title=_("Mass analysis"),
                                     parent=self,
                                     anchoMinimo=460,
                                     icon=Iconos.Analizar())
        if resultado is None:
            return

        claveMotor, tiempo, depth, multiPV, redo = resultado[1]
        ms = int(tiempo * 1000)
        if ms == 0 and depth == 0:
            return

        dicVar["ENGINE"] = claveMotor
        dicVar["SEGUNDOS"] = tiempo
        dicVar["DEPTH"] = depth
        dicVar["MULTIPV"] = multiPV
        dicVar["REDO"] = redo
        self.configuracion.escVariables("MASSIVE_OLINES", dicVar)

        um = QTUtil2.unMomento(self)
        stFensM2 = self.dbop.getAllFen()
        if redo == False:
            liBorrar = []
            for fenM2 in stFensM2:
                dic = self.dbop.getfenvalue(fenM2)
                if "ANALISIS" in dic:
                    liBorrar.append(fenM2)
            for fenM2 in liBorrar:
                stFensM2.remove(fenM2)

        conf_engine = copy.deepcopy(self.configuracion.buscaMotor(claveMotor))
        conf_engine.actMultiPV(multiPV)
        xgestor = self.procesador.creaGestorMotor(conf_engine, ms, depth, True)

        um.final()

        mensaje = _("Move") + "  %d/" + str(len(stFensM2))
        tmpBP = QTUtil2.BarraProgreso(self, _("Mass analysis"), "",
                                      len(stFensM2))

        done = 0

        for n, fenM2 in enumerate(stFensM2, 1):

            if tmpBP.siCancelado():
                break

            tmpBP.inc()
            tmpBP.mensaje(mensaje % n)

            mrm = xgestor.analiza(fenM2 + " 0 1")
            dic = self.dbop.getfenvalue(fenM2)
            dic["ANALISIS"] = mrm
            self.dbop.setfenvalue(fenM2, dic)
            done += 1

        tmpBP.cerrar()
Exemplo n.º 10
0
    def procesarAccion(self, clave):
        if clave == k_mainmenu:
            self.finPartida()

        elif clave in (k_reiniciar, k_siguiente):
            self.reiniciar()

        elif clave == k_peliculaRepetir:
            self.dbop.setconfig("ENG_ENGINE", self.numengine)
            self.reiniciar()

        elif clave == k_abandonar:
            self.ponFinJuego()

        elif clave == k_configurar:
            self.configurar(siSonidos=True)

        elif clave == k_utilidades:
            liMasOpciones = []
            liMasOpciones.append(
                ("libros", _("Consult a book"), Iconos.Libros()))
            liMasOpciones.append((None, None, None))
            liMasOpciones.append((None, _("Options"), Iconos.Opciones()))
            mens = _("cancel") if self.auto_analysis else _("activate")
            liMasOpciones.append(
                ("auto_analysis", "%s: %s" % (_("Automatic analysis"), mens),
                 Iconos.Analizar()))
            liMasOpciones.append((None, None, None))
            mens = _("cancel") if self.ask_movesdifferent else _("activate")
            liMasOpciones.append(
                ("ask_movesdifferent", "%s: %s" %
                 (_("Ask when the moves are different from the line"), mens),
                 Iconos.Pelicula_Seguir()))
            liMasOpciones.append((None, None, True))  # Para salir del submenu
            liMasOpciones.append((None, None, None))
            liMasOpciones.append(
                ("run_analysis", _("Specific analysis"), Iconos.Analizar()))
            liMasOpciones.append((None, None, None))
            liMasOpciones.append(
                ("add_line", _("Add this line"), Iconos.OpeningLines()))

            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                self.librosConsulta(False)

            elif resp == "add_line":
                numJugadas, nj, fila, siBlancas = self.jugadaActual()
                partida = self.partida
                if numJugadas != nj + 1:
                    menu = QTVarios.LCMenu(self.pantalla)
                    menu.opcion("all", _("Add all moves"), Iconos.PuntoAzul())
                    menu.separador()
                    menu.opcion("parcial", _("Add until current move"),
                                Iconos.PuntoVerde())
                    resp = menu.lanza()
                    if resp is None:
                        return
                    if resp == "parcial":
                        partida = self.partida.copia(nj)

                self.dbop.append(partida)
                self.dbop.updateTrainingEngines()
                QTUtil2.mensaje(self.pantalla, _("Done"))

            elif resp == "auto_analysis":
                self.auto_analysis = not self.auto_analysis
                self.trainingEngines["AUTO_ANALYSIS"] = self.auto_analysis
                self.dbop.setTrainingEngines(self.trainingEngines)

            elif resp == "ask_movesdifferent":
                self.ask_movesdifferent = not self.ask_movesdifferent
                self.trainingEngines[
                    "ASK_MOVESDIFFERENT"] = self.ask_movesdifferent
                self.dbop.setTrainingEngines(self.trainingEngines)

            elif resp == "run_analysis":
                self.um = None
                self.mensEspera()
                self.run_auto_analysis()
                self.mensEspera(siFinal=True)

        else:
            Gestor.Gestor.rutinaAccionDef(self, clave)
Exemplo n.º 11
0
    def __init__(self, procesador, winBookGuide, dbGames, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.winBookGuide = winBookGuide

        self.dbGames = dbGames  # <--setdbGames
        self.bookGuide = winBookGuide.bookGuide
        self.infoMove = None  # <-- setInfoMove
        self.wmoves = None  # <-- setwmoves
        self.fenM2 = None
        self.liMoves = []
        self.analisisMRM = None
        self.siMoves = siMoves
        self.procesador = procesador
        self.configuracion = procesador.configuracion

        self.leeConfig()

        self.aperturasStd = AperturasStd.ListaAperturasStd(
            self.configuracion, False, False)

        self.siFigurinesPGN = self.configuracion.figurinesPGN

        self.pvBase = ""

        self.orden = ["games", False]

        self.lbName = Controles.LB(
            self, "").ponWrap().alinCentrado().ponColorFondoN(
                "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16)
        if not siMoves:
            self.lbName.hide()

        # Grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("numero", _("N."), 35, siCentrado=True)
        self.delegadoMove = Delegados.EtiquetaPGN(
            True if self.siFigurinesPGN else None)
        oColumnas.nueva("move", _("Move"), 60, edicion=self.delegadoMove)
        dicTipos = {
            "t": Iconos.pmTransposition(),
        }
        oColumnas.nueva("trans",
                        "",
                        24,
                        edicion=Delegados.PmIconosBMT(dicIconos=dicTipos))
        oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True)
        oColumnas.nueva("games", _("Games"), 70, siDerecha=True)
        oColumnas.nueva("pgames",
                        "% " + _("Games"),
                        70,
                        siDerecha=True,
                        siCentrado=True)
        oColumnas.nueva("win", _("Win"), 70, siDerecha=True)
        oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True)
        oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True)
        oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True)
        oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True)
        oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True)
        oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True)
        oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True)

        self.grid = Grid.Grid(self,
                              oColumnas,
                              xid="summary",
                              siSelecFilas=True)
        self.grid.tipoLetra(puntos=self.configuracion.puntosPGN)
        self.grid.ponAltoFila(self.configuracion.altoFilaPGN)

        # ToolBar
        liAcciones = [
            (_("Close"), Iconos.MainMenu(), winBookGuide.terminar),
            None,
            (_("Start position"), Iconos.Inicio(), self.inicio),
            None,
            (_("Previous"), Iconos.AnteriorF(), self.anterior),
            (_("Next"), Iconos.SiguienteF(), self.siguiente),
            None,
            (_("Analyze"), Iconos.Analizar(), self.analizar),
            None,
            (_("Rebuild"), Iconos.Reindexar(), self.reindexar),
            None,
            (_("Config"), Iconos.Configurar(), self.config),
            None,
        ]
        if siMoves:
            liAcciones.append(
                (_("Create a new guide based in these games") if siMoves else
                 _("Create"), Iconos.BookGuide(), self.createGuide))
            liAcciones.append(None)

        self.tb = Controles.TBrutina(self,
                                     liAcciones,
                                     tamIcon=20,
                                     siTexto=not self.siMoves)
        if self.siMoves:
            self.tb.vertical()

        layout = Colocacion.V().control(self.lbName)
        if not self.siMoves:
            layout.control(self.tb)
        layout.control(self.grid)
        if self.siMoves:
            layout = Colocacion.H().control(self.tb).otro(layout)

        layout.margen(1)

        self.setLayout(layout)

        self.qtColor = (QTUtil.qtColorRGB(221, 255, 221),
                        QTUtil.qtColorRGB(247, 247, 247),
                        QTUtil.qtColorRGB(255, 217, 217))
        self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
Exemplo n.º 12
0
    def run_action(self, key):
        if key == TB_CLOSE:
            self.end_game()

        elif key in (TB_REINIT, TB_NEXT):
            self.reiniciar()

        elif key == TB_REPEAT:
            self.dbop.setconfig("ENG_ENGINE", self.numengine)
            self.reiniciar()

        elif key == TB_RESIGN:
            self.ponFinJuego()

        elif key == TB_CONFIG:
            self.configurar(siSonidos=True)

        elif key == TB_UTILITIES:
            liMasOpciones = []
            liMasOpciones.append(
                ("books", _("Consult a book"), Iconos.Libros()))
            liMasOpciones.append((None, None, None))
            liMasOpciones.append((None, _("Options"), Iconos.Opciones()))
            mens = _("cancel") if self.auto_analysis else _("activate")
            liMasOpciones.append(
                ("auto_analysis", "%s: %s" % (_("Automatic analysis"), mens),
                 Iconos.Analizar()))
            liMasOpciones.append((None, None, None))
            mens = _("cancel") if self.ask_movesdifferent else _("activate")
            liMasOpciones.append((
                "ask_movesdifferent",
                "%s: %s" %
                (_("Ask when the moves are different from the line"), mens),
                Iconos.Pelicula_Seguir(),
            ))
            liMasOpciones.append((None, None, True))  # Para salir del submenu
            liMasOpciones.append((None, None, None))
            liMasOpciones.append(
                ("run_analysis", _("Specific analysis"), Iconos.Analizar()))
            liMasOpciones.append((None, None, None))
            liMasOpciones.append(
                ("add_line", _("Add this line"), Iconos.OpeningLines()))

            resp = self.utilidades(liMasOpciones)
            if resp == "books":
                self.librosConsulta(False)

            elif resp == "add_line":
                num_moves, nj, row, is_white = self.jugadaActual()
                game = self.game
                if num_moves != nj + 1:
                    menu = QTVarios.LCMenu(self.main_window)
                    menu.opcion("all", _("Add all moves"), Iconos.PuntoAzul())
                    menu.separador()
                    menu.opcion("parcial", _("Add until current move"),
                                Iconos.PuntoVerde())
                    resp = menu.lanza()
                    if resp is None:
                        return
                    if resp == "parcial":
                        game = self.game.copia(nj)

                self.dbop.append(game)
                self.dbop.updateTrainingEngines()
                QTUtil2.message_bold(self.main_window, _("Done"))

            elif resp == "auto_analysis":
                self.auto_analysis = not self.auto_analysis
                self.trainingEngines["AUTO_ANALYSIS"] = self.auto_analysis
                self.dbop.setTrainingEngines(self.trainingEngines)

            elif resp == "ask_movesdifferent":
                self.ask_movesdifferent = not self.ask_movesdifferent
                self.trainingEngines[
                    "ASK_MOVESDIFFERENT"] = self.ask_movesdifferent
                self.dbop.setTrainingEngines(self.trainingEngines)

            elif resp == "run_analysis":
                self.um = None
                self.mensEspera()
                self.run_auto_analysis()
                self.mensEspera(siFinal=True)

        else:
            Manager.Manager.rutinaAccionDef(self, key)
Exemplo n.º 13
0
    def __init__(self, procesador, wb_database, dbGames, siMoves=True):
        QtWidgets.QWidget.__init__(self)

        self.wb_database = wb_database

        self.dbGames = dbGames  # <--setdbGames
        self.infoMove = None  # <-- setInfoMove
        self.wmoves = None  # <-- setwmoves
        self.liMoves = []
        self.siMoves = siMoves
        self.procesador = procesador
        self.configuration = procesador.configuration

        self.wdb_analysis = WDB_Analysis.WDBAnalisis(self)

        self.leeConfig()

        self.aperturasStd = OpeningsStd.ap

        self.si_figurines_pgn = self.configuration.x_pgn_withfigurines

        self.pvBase = ""

        self.orden = ["games", False]

        self.lbName = (
            Controles.LB(self, "")
            .set_wrap()
            .align_center()
            .set_foreground_backgound("white", "#4E5A65")
            .ponTipoLetra(puntos=10 if siMoves else 16)
        )
        if not siMoves:
            self.lbName.hide()

        # Grid
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("number", _("N."), 35, centered=True)
        self.delegadoMove = Delegados.EtiquetaPGN(True if self.si_figurines_pgn else None)
        o_columns.nueva("move", _("Move"), 60, edicion=self.delegadoMove)
        o_columns.nueva("analysis", _("Analysis"), 60, siDerecha=True)
        o_columns.nueva("games", _("Games"), 70, siDerecha=True)
        o_columns.nueva("pgames", "% " + _("Games"), 70, siDerecha=True)
        o_columns.nueva("win", _("Win"), 70, siDerecha=True)
        o_columns.nueva("draw", _("Draw"), 70, siDerecha=True)
        o_columns.nueva("lost", _("Lost"), 70, siDerecha=True)
        o_columns.nueva("pwin", "% " + _("Win"), 60, siDerecha=True)
        o_columns.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True)
        o_columns.nueva("plost", "% " + _("Lost"), 60, siDerecha=True)
        o_columns.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True)
        o_columns.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True)

        self.grid = Grid.Grid(self, o_columns, xid="summary", siSelecFilas=True)
        self.grid.tipoLetra(puntos=self.configuration.x_pgn_fontpoints)
        self.grid.ponAltoFila(self.configuration.x_pgn_rowheight)

        # ToolBar
        li_acciones = [
            (_("Start position"), Iconos.Inicio(), self.start),
            None,
            (_("Previous"), Iconos.AnteriorF(), self.anterior),
            (_("Next"), Iconos.SiguienteF(), self.siguiente),
            None,
            (_("Analyze"), Iconos.Analizar(), self.analizar),
            None,
            (_("Rebuild"), Iconos.Reindexar(), self.reindexar),
            None,
            (_("Config"), Iconos.Configurar(), self.config),
            None,
        ]

        self.tb = QTVarios.LCTB(self, li_acciones, icon_size=20, with_text=not self.siMoves)
        if self.siMoves:
            self.tb.vertical()

        layout = Colocacion.V().control(self.lbName)
        if not self.siMoves:
            layout.control(self.tb)
        layout.control(self.grid)
        if self.siMoves:
            layout = Colocacion.H().control(self.tb).otro(layout)

        layout.margen(1)

        self.setLayout(layout)

        self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217))
        self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
Exemplo n.º 14
0
    def __init__(self, procesador, winBookGuide, dbGames, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.winBookGuide = winBookGuide

        self.dbGames = dbGames  # <--setdbGames
        self.bookGuide = winBookGuide.bookGuide
        self.infoMove = None  # <-- setInfoMove
        self.wmoves = None  # <-- setwmoves
        self.fenM2 = None
        self.liMoves = []
        self.analisisMRM = None
        self.siMoves = siMoves
        self.procesador = procesador

        self.pvBase = ""

        self.orden = ["games", False]

        self.lbName = Controles.LB(
            self, "").ponWrap().alinCentrado().ponColorFondoN(
                "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16)
        if not siMoves:
            self.lbName.hide()

        # Grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("move", _("Move"), 60)
        oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True)
        oColumnas.nueva("games", _("Games"), 70, siDerecha=True)
        oColumnas.nueva("pgames",
                        "% " + _("Games"),
                        70,
                        siDerecha=True,
                        siCentrado=True)
        oColumnas.nueva("win", _("Win"), 70, siDerecha=True)
        oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True)
        oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True)
        oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True)
        oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True)
        oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True)
        oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True)
        oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True)

        self.grid = Grid.Grid(self, oColumnas, id="summary", siSelecFilas=True)

        # ToolBar
        liAcciones = [
            (_("Previous"), Iconos.AnteriorF(), "anterior"),
            (_("Next"), Iconos.SiguienteF(), "siguiente"),
            None,
            (_("Analyze"), Iconos.Analizar(), "analizar"),
            None,
            (_("Rebuild"), Iconos.Reindexar(), "reindexar"),
            None,
            (_("Summary filtering by player") if siMoves else _("By player"),
             Iconos.Player(), "reindexarPlayer"),
            None,
        ]
        if siMoves:
            liAcciones.append(
                (_("Create a new guide based in these games")
                 if siMoves else _("Create"), Iconos.BookGuide(), "create"))
            liAcciones.append(None)

        self.tb = Controles.TB(self,
                               liAcciones,
                               tamIcon=20,
                               siTexto=not self.siMoves)
        if self.siMoves:
            self.tb.vertical()

        layout = Colocacion.V().control(self.lbName)
        if not self.siMoves:
            layout.control(self.tb)
        layout.control(self.grid)
        if self.siMoves:
            layout = Colocacion.H().control(self.tb).otro(layout)

        layout.margen(1)

        self.setLayout(layout)

        self.qtColor = (QTUtil.qtColorRGB(221, 255, 221),
                        QTUtil.qtColorRGB(247, 247, 247),
                        QTUtil.qtColorRGB(255, 217, 217))