def __init__(self, wParent, sts, work, procesador):
        titulo = "%s - %s - %s" % (sts.name, work.ref, work.pathToExe())
        icono = Iconos.STS()
        extparam = "runsts"
        QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam)

        self.work = work
        self.sts = sts
        self.ngroup = -1
        self.xengine = procesador.creaGestorMotor(work.configEngine(), work.seconds * 1000, work.depth)
        self.xengine.set_direct( )
        self.playing = False
        self.configuracion = procesador.configuracion
        self.run_test_close = work.seconds > 3 or work.depth > 10

        # Toolbar
        liAcciones = [(_("Close"), Iconos.MainMenu(), self.cerrar), None,
                      (_("Run"), Iconos.Run(), self.run),
                      (_("Pause"), Iconos.Pelicula_Pausa(), self.pause), None,
                      ]
        self.tb = tb = QTVarios.LCTB(self, liAcciones, tamIcon=24)

        # Area resultados
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("GROUP", _("Group"), 180)
        oColumnas.nueva("DONE", _("Done"), 100, siCentrado=True)
        oColumnas.nueva("WORK", _("Result"), 120, siCentrado=True)

        self.dworks = self.read_works()
        self.calc_max()
        for x in range(len(self.sts.works)-1, -1, -1):
            work = self.sts.works.getWork(x)
            if work != self.work:
                key = "OTHER%d" % x
                reg = self.dworks[key]
                oColumnas.nueva(key, reg.title, 120, siCentrado=True)

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

        self.colorMax = QTUtil.qtColor("#840C24")
        self.colorOth = QTUtil.qtColor("#4668A6")

        layout = Colocacion.H()
        layout.control(self.grid)
        layout.margen(3)

        ly = Colocacion.V().control(tb).otro(layout)

        self.setLayout(ly)

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

        resp = self.sts.siguientePosicion(self.work)
        if resp:
            self.tb.setAccionVisible(self.pause, False)
            self.tb.setAccionVisible(self.run, True)
        else:
            self.tb.setAccionVisible(self.pause, False)
            self.tb.setAccionVisible(self.run, False)
示例#2
0
    def paint(self, painter, option, widget):

        pen = QtGui.QPen()

        painter.setBrush(
            QtGui.QBrush(QtGui.QColor(self.bloqueDatos.colorFondo)))
        painter.drawRect(self.rect)

        nColor = self.bloqueDatos.colorTexto if self.bloqueDatos.colorTexto != -1 else 0
        if self.bloqueDatos.colorFondo != -1:
            painter.setBrush(QtGui.QBrush())
        pen.setColor(QTUtil.qtColor(nColor))
        painter.setPen(pen)
        painter.setFont(self.font)
        painter.drawText(self.rect, self.texto(), self.textOption)
        linea = self.bloqueDatos.linea
        if linea:
            r = self.rect
            x, y, w, h = r.x(), r.y(), r.width(), r.height()
            if linea == "a":
                y = y + h
                w = 1
                h = 50
            elif linea == "d":
                x += w
                y -= 10
                w = 1
                h = 32
            elif linea == "i":
                y -= 10
                w = 1
                h = 32
            rect = QtCore.QRectF(x, y, w, h)
            painter.drawRect(rect)
示例#3
0
    def paint(self, painter, option, widget):

        pen = QtGui.QPen()

        painter.setBrush(QtGui.QBrush(QtGui.QColor(self.bloqueDatos.colorFondo)))
        painter.drawRect(self.rect)

        nColor = self.bloqueDatos.colorTexto if self.bloqueDatos.colorTexto != -1 else 0
        if self.bloqueDatos.colorFondo != -1:
            painter.setBrush(QtGui.QBrush())
        pen.setColor(QTUtil.qtColor(nColor))
        painter.setPen(pen)
        painter.setFont(self.font)
        painter.drawText(self.rect, self.texto(), self.textOption)
        linea = self.bloqueDatos.linea
        if linea:
            r = self.rect
            x, y, w, h = r.x(), r.y(), r.width(), r.height()
            if linea == "a":
                y = y + h
                w = 1
                h = 50
            elif linea == "d":
                x = x + w
                y = y - 10
                w = 1
                h = 32
            elif linea == "i":
                y = y - 10
                w = 1
                h = 32
            rect = QtCore.QRectF(x, y, w, h)
            painter.drawRect(rect)
示例#4
0
 def pulsado(self):
     ncolor = self.rut_actual()
     color = QTUtil.qtColor(ncolor)
     color = QtGui.QColorDialog.getColor(color, self.parent, _("Choose a color"))
     if color.isValid():
         self.rut_actual(color.rgba())
         self.rut_actualiza()
         self.ponColor()
示例#5
0
 def pulsado(self):
     ncolor = self.rut_actual()
     color = QTUtil.qtColor(ncolor)
     color = QtWidgets.QColorDialog.getColor(color, self.parent, _("Choose a color"))
     if color.isValid():
         self.rut_actual(color.rgba())
         self.rut_actualiza()
         self.set_color_foreground()
示例#6
0
 def pulsado(self):
     ncolor = self.rut_actual()
     color = QTUtil.qtColor(ncolor)
     color = QtGui.QColorDialog.getColor(color, self.parent, _("Choose a color"))
     if color.isValid():
         self.rut_actual(color.rgba())
         self.rut_actualiza()
         self.ponColor()
示例#7
0
    def __init__(self, owner, name, title, icono, folder, li_tam_blocks):

        self.tol = TurnOnLights.read_tol(name, title, folder, li_tam_blocks)
        self.reinit = False

        titulo = _("Turn on the lights") + ": " + title
        extparam = "tol%s-%d" % (name, self.tol.work_level)
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.colorTheme = QTUtil.qtColor("#F0F0F0")

        # Toolbar
        tb = Controles.TBrutina(self)
        tb.new(_("Close"), Iconos.MainMenu(), self.terminar)
        anterior, siguiente = self.tol.prev_next()
        if anterior:
            tb.new(_("Previous"), Iconos.Anterior(), self.goto_previous)
        if siguiente:
            tb.new(_("Next"), Iconos.Siguiente(), self.goto_next)
        tb.new(_("Config"), Iconos.Configurar(), self.config)
        tb.new(_("Information"), Iconos.Informacion(), self.colors)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        work_level = self.tol.work_level + 1
        oColumnas.nueva("THEME",
                        _("Level %d/%d") % (work_level, self.tol.num_levels),
                        175)
        for x in range(self.tol.num_blocks):
            oColumnas.nueva("BLOCK%d" % x,
                            "%d" % (x + 1, ),
                            42,
                            siCentrado=True,
                            edicion=Delegados.PmIconosColor())

        self.grid = grid = Grid.Grid(self,
                                     oColumnas,
                                     altoFila=42,
                                     background="white")
        self.grid.setAlternatingRowColors(False)
        self.grid.tipoLetra(puntos=10, peso=500)
        nAnchoPgn = self.grid.anchoColumnas() + 20
        self.grid.setMinimumWidth(nAnchoPgn)
        self.registrarGrid(grid)

        # Colocamos ---------------------------------------------------------------
        ly = Colocacion.V().control(tb).control(self.grid)

        self.setLayout(ly)

        alto = self.tol.num_themes * 42 + 116
        self.recuperarVideo(siTam=True,
                            altoDefecto=alto,
                            anchoDefecto=nAnchoPgn)
示例#8
0
 def paint(self, painter, option, widget):
     bl = self.bloqueCaja
     pen = QtGui.QPen()
     pen.setColor(QTUtil.qtColor(bl.color))
     pen.setWidth(bl.grosor)
     pen.setStyle(bl.tipoqt())
     painter.setPen(pen)
     if bl.colorRelleno != -1:
         painter.setBrush(QTUtil.qtBrush(bl.colorRelleno))
     if bl.redEsquina:
         painter.drawRoundedRect(self.rect, bl.redEsquina, bl.redEsquina)
     else:
         painter.drawRect(self.rect)
示例#9
0
 def paint(self, painter, option, widget):
     bl = self.bloqueCaja
     pen = QtGui.QPen()
     pen.setColor(QTUtil.qtColor(bl.color))
     pen.setWidth(bl.grosor)
     pen.setStyle(bl.tipoqt())
     painter.setPen(pen)
     if bl.colorRelleno != -1:
         painter.setBrush(QTUtil.qtBrush(bl.colorRelleno))
     if bl.redEsquina:
         painter.drawRoundedRect(self.rect, bl.redEsquina, bl.redEsquina)
     else:
         painter.drawRect(self.rect)
示例#10
0
    def __init__(self, owner, themes: Themes.Themes, current_move: Move.Move):
        title = _("Select themes")
        extparam = "selelectthemes"

        self.owner = owner
        self.current_move = current_move

        self.st_current_themes = set(self.current_move.li_themes)

        icono = Iconos.Themes()
        QTVarios.WDialogo.__init__(self, owner, title, icono, extparam)

        self.themes = themes

        self.themes.check(self.st_current_themes)
        self.qt_custom = QTUtil.qtColor("#bf5b16")

        self.configuration = Code.configuration

        li_options = [
            (_("Save"), Iconos.GrabarFichero(), self.aceptar),
            None,
            (_("Cancel"), Iconos.Cancelar(), self.reject),
            None,
            (_("Clear all"), Iconos.Borrar(), self.clear_themes),
            None,
        ]
        tb = QTVarios.LCTB(self, li_options, icon_size=24)

        # Grid
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("SELECTED", "", 20, siChecked=True)
        o_columns.nueva("THEME", "", 280)

        self.o_columnas = o_columns
        self.grid = Grid.Grid(self, o_columns, siEditable=True, altoCabecera=3)
        font = Controles.TipoLetra(puntos=Code.configuration.x_pgn_fontpoints)
        self.grid.ponFuente(font)

        lb_right_click = Controles.LB(
            self, " * %s" % _("More options with right-click"))

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

        self.restore_video(anchoDefecto=self.grid.anchoColumnas() + 48)
示例#11
0
    def paint(self, painter, option, widget):

        pen = QtGui.QPen()

        if self.bloqueTexto.colorFondo != -1:
            painter.setBrush(QtGui.QBrush(QtGui.QColor(self.bloqueTexto.colorFondo)))

        nColor = self.bloqueTexto.colorTexto if self.bloqueTexto.colorTexto != -1 else 0
        if self.bloqueTexto.colorFondo != -1:
            painter.setBrush(QtGui.QBrush())
        pen.setColor(QTUtil.qtColor(nColor))
        painter.setPen(pen)
        painter.setFont(self.font)
        painter.drawText(self.rect, self.bloqueTexto.valor, self.textOption)

        if self.siRecuadro:
            pen = QtGui.QPen()
            pen.setColor(QtGui.QColor("blue"))
            pen.setWidth(1)
            pen.setStyle(QtCore.Qt.DashLine)
            painter.setPen(pen)
            painter.drawRect(self.rect)
示例#12
0
    def __init__(self, procesador, dbop):
        self.dbop = dbop
        title = dbop.gettitle()

        QTVarios.WDialogo.__init__(self, procesador.pantalla, title,
                                   Iconos.OpeningLines(), "studyOpening")

        self.procesador = procesador
        self.configuracion = procesador.configuracion
        self.partidabase = self.dbop.getpartidabase()
        self.num_jg_inicial = self.partidabase.numJugadas()
        self.num_jg_actual = None
        self.partida = None

        self.resultado = None
        siFigurinesPGN = self.configuracion.figurinesPGN

        liAcciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            None,
            (_("Remove"), Iconos.Borrar(), self.borrar),
            None,
            (_("Import"), Iconos.Mezclar(), self.importar),
            None,
            (_("Utilities"), Iconos.Utilidades(), self.utilidades),
            None,
            (_("Train"), Iconos.Study(), self.train),
            None,
        )
        self.tb = Controles.TBrutina(self, liAcciones)

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("LINE",
                        _("Line"),
                        35,
                        edicion=Delegados.EtiquetaPOS(False, True))
        inicio = self.partidabase.numJugadas() / 2 + 1
        ancho_col = ((self.configuracion.anchoPGN - 35 - 20) / 2) * 80 // 100
        for x in range(inicio, 75):
            oColumnas.nueva(str(x),
                            str(x),
                            ancho_col,
                            edicion=Delegados.EtiquetaPOS(
                                siFigurinesPGN, True))
        self.glines = Grid.Grid(self, oColumnas, siCabeceraMovible=False)
        self.glines.setAlternatingRowColors(False)
        self.glines.tipoLetra(puntos=self.configuracion.puntosPGN)
        self.glines.ponAltoFila(self.configuracion.altoFilaPGN)

        self.pboard = POLBoard.BoardLines(self, self.configuracion)

        self.tabsanalisis = POLAnalisis.TabsAnalisis(self, self.procesador,
                                                     self.configuracion)

        splitter = QtGui.QSplitter(self)
        splitter.setOrientation(QtCore.Qt.Vertical)
        splitter.addWidget(self.glines)
        splitter.addWidget(self.tabsanalisis)

        sp = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                               QtGui.QSizePolicy.Expanding)
        splitter.setSizePolicy(sp)

        self.registrarSplitter(splitter, "SPLITTER")

        lyLV = Colocacion.V().control(splitter)
        lyTB = Colocacion.V().control(self.tb).control(self.pboard)
        layout = Colocacion.H().otro(lyTB).otro(lyLV).margen(3)
        self.setLayout(layout)

        self.colorPar = QTUtil.qtColor("#DBDAD9")
        self.colorNon = QTUtil.qtColor("#F1EFE9")
        self.colorLine = QTUtil.qtColor("#CDCCCB")

        self.partida = self.partidabase

        self.pboard.MoverFinal()

        self.recuperarVideo()
示例#13
0
 def gridColorFondo(self, grid, fila, oColumna):
     li = self.liSonidos[fila]
     if li[0] is None:
         return QTUtil.qtColor(4294836181)
     else:
         return None
示例#14
0
 def gridColorFondo(self, grid, fila, oColumna):
     li = self.liSonidos[fila]
     if li[0] is None:
         return QTUtil.qtColor(4294836181)
     else:
         return None
示例#15
0
    def __init__(self, procesador, dbop):
        self.dbop = dbop
        self.title = dbop.gettitle()

        QTVarios.WDialogo.__init__(self, procesador.main_window, self.title,
                                   Iconos.OpeningLines(), "studyOpening")

        self.procesador = procesador
        self.configuration = procesador.configuration
        self.gamebase = self.dbop.getgamebase()
        self.num_jg_inicial = self.gamebase.num_moves()
        self.num_jg_actual = None
        self.game = None

        self.resultado = None
        si_figurines_pgn = self.configuration.x_pgn_withfigurines

        li_acciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            None,
            (_("Remove"), Iconos.Borrar(), self.borrar),
            None,
            (_("Import"), Iconos.Import8(), self.importar),
            None,
            (_("Export"), Iconos.Export8(), self.exportar),
            None,
            (_("Utilities"), Iconos.Utilidades(), self.utilidades),
            None,
            (_("Train"), Iconos.Study(), self.train),
            None,
        )
        self.tb = QTVarios.LCTB(self, li_acciones)

        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("LINE",
                        _("Line"),
                        35,
                        edicion=Delegados.EtiquetaPOS(False, True))
        start = self.gamebase.num_moves() // 2 + 1
        ancho_col = int(
            ((self.configuration.x_pgn_width - 35 - 20) / 2) * 80 / 100)
        for x in range(start, 75):
            o_columns.nueva(str(x),
                            str(x),
                            ancho_col,
                            edicion=Delegados.EtiquetaPOS(
                                si_figurines_pgn, True))
        self.glines = Grid.Grid(self, o_columns, siCabeceraMovible=False)
        self.glines.setAlternatingRowColors(False)
        self.glines.tipoLetra(puntos=self.configuration.x_pgn_fontpoints)
        self.glines.ponAltoFila(self.configuration.x_pgn_rowheight)

        self.pboard = POLBoard.BoardLines(self, self.configuration)

        self.tabsanalisis = POLAnalisis.TabsAnalisis(self, self.procesador,
                                                     self.configuration)

        widget = QtWidgets.QWidget()
        widget.setStyleSheet("background-color:lightgray;")
        widget_layout = Colocacion.V().control(self.glines)
        widget_layout.setSpacing(10)
        widget_layout.margen(3)
        widget.setLayout(widget_layout)

        splitter = QtWidgets.QSplitter(self)
        splitter.setOrientation(QtCore.Qt.Vertical)
        splitter.addWidget(widget)
        splitter.addWidget(self.tabsanalisis)

        sp = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)
        splitter.setSizePolicy(sp)

        self.register_splitter(splitter, "SPLITTER")

        layout_down = Colocacion.H().control(
            self.pboard).control(splitter).margen(3)
        layout = Colocacion.V().control(self.tb).otro(layout_down).margen(3)
        self.setLayout(layout)

        self.colorPar = QTUtil.qtColor("#DBDAD9")
        self.colorNon = QTUtil.qtColor("#F1EFE9")
        self.colorLine = QTUtil.qtColor("#CDCCCB")

        self.game = self.gamebase

        self.pboard.MoverFinal()

        self.restore_video()

        self.last_numlines = 0
        self.show_lines()
示例#16
0
 def ponColor(self):
     ncolor = self.rut_actual()
     self.setStyleSheet("QWidget { background: %s }" % QTUtil.qtColor(ncolor).name())
 def grid_color_fondo(self, grid, row, o_column):
     li = self.liSonidos[row]
     if li[0] is None:
         return QTUtil.qtColor(4294836181)
     else:
         return None
示例#18
0
    def __init__(self, procesador, name, title, icono, folder, li_tam_blocks,
                 one_line):
        self.one_line = one_line
        if one_line:
            self.tol = TurnOnLights.read_oneline_tol()
        else:
            self.tol = TurnOnLights.read_tol(name, title, folder,
                                             li_tam_blocks)
        self.reinit = False

        titulo = _("Turn on the lights") + ": " + title
        if self.tol.is_calculation_mode():
            tipo = _("Calculation mode")
            background = "#88AA3A"
        else:
            tipo = _("Memory mode")
            background = "#BDDBE8"

        self.procesador = procesador
        extparam = "tol%s-%d" % (name, self.tol.work_level)

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

        self.colorTheme = QTUtil.qtColor("#F0F0F0")

        lb = Controles.LB(self, tipo)
        lb.ponFondoN(background).alinCentrado().ponTipoLetra(puntos=14)

        # Toolbar
        tb = Controles.TBrutina(self)
        tb.new(_("Close"), Iconos.MainMenu(), self.terminar)
        anterior, siguiente, terminado = self.tol.prev_next()
        if terminado:
            tb.new(_("Rebuild"), Iconos.Reindexar(), self.rebuild)
        if anterior:
            tb.new(_("Previous"), Iconos.Anterior(), self.goto_previous)
        if siguiente:
            tb.new(_("Next"), Iconos.Siguiente(), self.goto_next)
        if one_line:
            tb.new(_("Change"), Iconos.TOLchange(), self.cambiar_one_line)
        tb.new(_("Config"), Iconos.Configurar(), self.config)
        tb.new(_("Information"), Iconos.Informacion(), self.colors)

        # Lista
        oColumnas = Columnas.ListaColumnas()
        work_level = self.tol.work_level + 1
        oColumnas.nueva("THEME",
                        _("Level %d/%d") % (work_level, self.tol.num_levels),
                        175)

        edicionIconos = Delegados.PmIconosColor()
        self.dicIconos = {}
        for k, pm in edicionIconos.dicpmIconos.iteritems():
            self.dicIconos[k] = QtGui.QIcon(pm)

        for x in range(self.tol.num_blocks):
            oColumnas.nueva("BLOCK%d" % x,
                            "%d" % (x + 1, ),
                            42,
                            siCentrado=True,
                            edicion=edicionIconos)

        self.grid = grid = Grid.Grid(self,
                                     oColumnas,
                                     altoFila=42,
                                     background="white")
        self.grid.setAlternatingRowColors(False)
        self.grid.tipoLetra(puntos=10, peso=500)
        nAnchoPgn = self.grid.anchoColumnas() + 20
        self.grid.setMinimumWidth(nAnchoPgn)
        self.registrarGrid(grid)

        # Colocamos ---------------------------------------------------------------
        ly = Colocacion.V().control(lb).control(tb).control(self.grid)

        self.setLayout(ly)

        alto = self.tol.num_themes * 42 + 146
        self.recuperarVideo(siTam=True,
                            altoDefecto=alto,
                            anchoDefecto=max(nAnchoPgn, 480))
示例#19
0
 def ponColor(self):
     ncolor = self.rut_actual()
     self.setStyleSheet("QWidget { background: %s }" % QTUtil.qtColor(ncolor).name())