def create_board(name, si=True, siLibre=True, siMas=False): if not si: return None, None, None board = Board.Board(self, config_board) board.crea() board.ponerPiezasAbajo(is_white) lytb, tb = QTVarios.lyBotonesMovimiento(self, name, siLibre, siMas=siMas) return board, lytb, tb
def creaTablero(nombre, si=True, siLibre=True, siPunto=False): if not si: return None, None, None tablero = Tablero.Tablero(self, confTablero) tablero.crea() tablero.ponerPiezasAbajo(siBlancas) lytb, tb = QTVarios.lyBotonesMovimiento(self, nombre, siLibre) return tablero, lytb, tb
def creaTablero(nombre, si=True, siLibre=True, siMas=False): if not si: return None, None, None tablero = Tablero.Tablero(self, confTablero) tablero.crea() tablero.ponerPiezasAbajo(siBlancas) lytb, tb = QTVarios.lyBotonesMovimiento(self, nombre, siLibre, siMas=siMas) return tablero, lytb, tb
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()
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()
def __init__(self, gestor, xmotor, nombreOP, posicion, mrm, rmOP, rmUsu, analisis): self.siCompetitivo = gestor.siCompetitivo self.nombreOP = nombreOP self.posicion = posicion self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analisis = analisis self.xmotor = xmotor self.gestor = gestor self.listaRM, self.posOP = self.hazListaRM() self.posicion = posicion titulo = _("Analysis") icono = Iconos.Analizar() extparam = "jzgm" QTVarios.WDialogo.__init__(self, gestor.pantalla, titulo, icono, extparam) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) self.lbComentario = Controles.LB(self, "").ponTipoLetra(puntos=10).alinCentrado() confTablero = VarGen.configuracion.confTablero("JUICIO", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(posicion.siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() liMas = ( (_("Close"), "close", Iconos.Delete() ), ) lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=True, tamIcon=24, siMas=True, liMasAcciones=liMas) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("POSREAL", "#", 40, siCentrado=True) oColumnas.nueva("JUGADAS", "%d %s" % (len(self.listaRM), _("Moves")), 120, siCentrado=True) oColumnas.nueva("PLAYER", _("Player"), 120) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True) lyT = Colocacion.V().control(self.tablero).otro(lyBM).control(self.lbComentario) # Layout layout = Colocacion.H().otro(lyT).control(self.grid) self.setLayout(layout) self.grid.setFocus() self.grid.goto(self.posOP, 0) self.siMoviendoTiempo = False self.ponPuntos()
def creaTablero(name, si=True, siLibre=True, siMas=False): if not si: return None, None, None tablero = Tablero.Tablero(self, config_board) tablero.crea() tablero.ponerPiezasAbajo(is_white) lytb, tb = QTVarios.lyBotonesMovimiento(self, name, siLibre, siMas=siMas) return tablero, lytb, tb
def __init__(self, oBase, ventana, segundosPensando, siBlancas, cPuntos, maxRecursion): super(WAnalisisVariantes, self).__init__(ventana) self.oBase = oBase # Creamos los controles self.setWindowTitle(_("Variants")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowCloseButtonHint ) self.setWindowIcon(Iconos.Tutor()) f = Controles.TipoLetra(puntos=12, peso=75) flb = Controles.TipoLetra(puntos=10) lbPuntuacionAnterior = Controles.LB(self, cPuntos).alinCentrado().ponFuente(flb) self.lbPuntuacionNueva = Controles.LB(self).alinCentrado().ponFuente(flb) confTablero = VarGen.configuracion.confTablero("ANALISISVARIANTES", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.tableroT = Tablero.Tablero(self, confTablero) self.tableroT.crea() self.tableroT.ponerPiezasAbajo(siBlancas) btTerminar = Controles.PB(self, _("Close"), self.close).ponPlano(False) btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono(Iconos.MoverLibre()).ponPlano(False) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),) lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=maxRecursion > 0, liMasAcciones=liMasAcciones) self.maxRecursion = maxRecursion - 1 self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)")) # Creamos los layouts lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(self.tablero) gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).alinCentrado() lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(self.tableroT) gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).alinCentrado() lyBT = Colocacion.H().control(btTerminar).control(btReset).relleno().control(lbSegundos).control(self.segundos) layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1) layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1) self.setLayout(layout) self.move(ventana.x() + 20, ventana.y() + 20)
def __init__(self, oBase, ventana, segundosPensando, siBlancas, cPuntos, maxRecursion): super(WAnalisisVariantes, self).__init__(ventana) self.oBase = oBase # Creamos los controles self.setWindowTitle(_("Variants")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint) self.setWindowIcon(Iconos.Tutor()) f = Controles.TipoLetra(puntos=12, peso=75) flb = Controles.TipoLetra(puntos=10) lbPuntuacionAnterior = Controles.LB(self, cPuntos).alinCentrado().ponFuente(flb) self.lbPuntuacionNueva = Controles.LB(self).alinCentrado().ponFuente(flb) confTablero = VarGen.configuracion.confTablero("ANALISISVARIANTES", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.tableroT = Tablero.Tablero(self, confTablero) self.tableroT.crea() self.tableroT.ponerPiezasAbajo(siBlancas) btTerminar = Controles.PB(self, _("Quit"), self.close).ponPlano(False) btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono(Iconos.MoverLibre()).ponPlano(False) liMasAcciones = ( ("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),) lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=maxRecursion > 0, liMasAcciones=liMasAcciones) self.maxRecursion = maxRecursion - 1 self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)")) # Creamos los layouts lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(self.tablero) gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).alinCentrado() lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(self.tableroT) gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).alinCentrado() lyBT = Colocacion.H().control(btTerminar).control(btReset).relleno().control(lbSegundos).control(self.segundos) layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1) layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1) self.setLayout(layout) self.move(ventana.x() + 20, ventana.y() + 20)
def __init__(self, wb_database): QtWidgets.QWidget.__init__(self) self.wb_database = wb_database self.movActual = None configuration = Code.configuration config_board = configuration.config_board("INFOMOVE", 32) self.board = BoardKey(self, config_board) self.board.dispatchSize(self.cambiado_board) self.board.crea() self.board.ponerPiezasAbajo(True) self.board.disable_hard_focus() # Para que los movimientos con el teclado from_sq grid wgames no cambien el foco self.cpActual = Position.Position() self.historia = None self.posHistoria = None self.intervalo = configuration.x_interval_replay lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, icon_size=24) self.lbPGN = LBKey(self).anchoFijo(self.board.ancho).set_wrap() self.lbPGN.wowner = self self.lbPGN.ponTipoLetra(puntos=configuration.x_pgn_fontpoints + 2) self.lbPGN.setStyleSheet( "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 2px 16px 6px 2px;}" ) self.lbPGN.setOpenExternalLinks(False) def muestraPos(txt): self.colocatePartida(int(txt)) self.lbPGN.linkActivated.connect(muestraPos) scroll = QtWidgets.QScrollArea() scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) scroll.setWidgetResizable(True) scroll.setFrameStyle(QtWidgets.QFrame.NoFrame) ly = Colocacion.V().control(self.lbPGN).relleno(1).margen(0) w = QtWidgets.QWidget() w.setLayout(ly) scroll.setWidget(w) self.with_figurines = configuration.x_pgn_withfigurines self.lb_opening = Controles.LB(self).align_center().anchoFijo(self.board.ancho).set_wrap() self.lb_opening.ponTipoLetra(puntos=10, peso=200) lyO = Colocacion.H().relleno().control(self.lb_opening).relleno() lya = Colocacion.H().relleno().control(scroll).relleno() layout = Colocacion.G() layout.controlc(self.board, 0, 0) layout.otroc(lybt, 1, 0) layout.otro(lyO, 2, 0) layout.otro(lya, 3, 0) self.setLayout(layout) self.usoNormal = True self.siReloj = False
def __init__(self, panelOpening, configuracion): QtWidgets.QWidget.__init__(self) self.panelOpening = panelOpening self.dbop = panelOpening.dbop self.configuracion = configuracion self.partidabase = panelOpening.partidabase self.num_jg_inicial = len(self.partidabase) self.pos_move = self.num_jg_inicial config_board = configuracion.config_board("POSLINES", 32) self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.set_dispatcher(self.mueve_humano) self.tablero.dispatchSize(self.ajustaAncho) self.tablero.dbVisual_setFichero(self.dbop.nom_fichero) self.tablero.dbVisual_setShowAllways(True) self.tablero.dbVisual_setSaveAllways(True) self.tablero.ponerPiezasAbajo(self.dbop.getconfig("WHITEBOTTOM", True)) self.dbop.setdbVisual_Tablero(self.tablero) # To close self.intervalo = configuracion.x_interval_replay tipoLetra = Controles.TipoLetra(puntos=configuracion.x_pgn_fontpoints) lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24) self.lbPGN = Controles.LB(self).ponWrap() self.lbPGN.colocate = self.colocatePartida self.lbPGN.setStyleSheet( "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}" ) self.lbPGN.ponFuente(tipoLetra) self.lbPGN.setOpenExternalLinks(False) def muestraPos(txt): self.colocatePartida(int(txt)) self.lbPGN.linkActivated.connect(muestraPos) self.siFigurines = configuracion.x_pgn_withfigurines dicNAGs = TrListas.dicNAGs() self.dicValoracion = collections.OrderedDict() self.dicValoracion[GOOD_MOVE] = (dicNAGs[1], PantallaColores.nag2ico(1, 16)) self.dicValoracion[BAD_MOVE] = (dicNAGs[2], PantallaColores.nag2ico(2, 16)) self.dicValoracion[VERY_GOOD_MOVE] = (dicNAGs[3], PantallaColores.nag2ico(3, 16)) self.dicValoracion[VERY_POOR_MOVE] = (dicNAGs[4], PantallaColores.nag2ico(4, 16)) self.dicValoracion[SPECULATIVE_MOVE] = (dicNAGs[5], PantallaColores.nag2ico(5, 16)) self.dicValoracion[QUESTIONABLE_MOVE] = (dicNAGs[6], PantallaColores.nag2ico( 6, 16)) self.dicValoracion[NO_RATING] = (_("No rating"), QtGui.QIcon()) self.dicVentaja = collections.OrderedDict() self.dicVentaja[V_SIN] = (_("Undefined"), QtGui.QIcon()) self.dicVentaja[V_IGUAL] = (dicNAGs[11], Iconos.V_Blancas_Igual_Negras()) self.dicVentaja[V_BLANCAS] = (dicNAGs[14], Iconos.V_Blancas()) self.dicVentaja[V_BLANCAS_MAS] = (dicNAGs[16], Iconos.V_Blancas_Mas()) self.dicVentaja[V_BLANCAS_MAS_MAS] = (dicNAGs[18], Iconos.V_Blancas_Mas_Mas()) self.dicVentaja[V_NEGRAS] = (dicNAGs[15], Iconos.V_Negras()) self.dicVentaja[V_NEGRAS_MAS] = (dicNAGs[17], Iconos.V_Negras_Mas()) self.dicVentaja[V_NEGRAS_MAS_MAS] = (dicNAGs[19], Iconos.V_Negras_Mas_Mas()) # Valoracion li_options = [(tit[0], k, tit[1]) for k, tit in self.dicValoracion.items()] self.cbValoracion = Controles.CB(self, li_options, 0).capturaCambiado( self.cambiadoValoracion) self.cbValoracion.ponFuente(tipoLetra) # Ventaja li_options = [(tit, k, icon) for k, (tit, icon) in self.dicVentaja.items()] self.cbVentaja = Controles.CB(self, li_options, 0).capturaCambiado(self.cambiadoVentaja) self.cbVentaja.ponFuente(tipoLetra) # Comentario self.emComentario = Controles.EM(self, siHTML=False).capturaCambios( self.cambiadoComentario) self.emComentario.ponFuente(tipoLetra) self.emComentario.altoFijo(5 * configuracion.x_pgn_rowheight) lyVal = Colocacion.H().control(self.cbValoracion).control( self.cbVentaja) lyEd = Colocacion.V().otro(lyVal).control(self.emComentario) # Apertura self.lbApertura = Controles.LB(self).alinCentrado().ponFuente( tipoLetra).ponWrap() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbPGN).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) layout.otro(lyEd) layout.control(self.lbApertura) layout.relleno().margen(0) self.setLayout(layout) self.ajustaAncho() self.siReloj = False self.ponPartida(self.partidabase)
def __init__(self, mAnalisis, ventana, siBlancas, siLibre, siGrabar, muestraInicial): titulo = _("Analysis") icono = Iconos.Tutor() extparam = "analysis" QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam) self.mAnalisis = mAnalisis self.muestraActual = None confTablero = VarGen.configuracion.confTablero("ANALISIS", 48) self.siLibre = siLibre self.siGrabar = siGrabar self.siBlancas = siBlancas tbWork = Controles.TBrutina(self, tamIcon=24) tbWork.new( _("Close"), Iconos.MainMenu(), self.terminar ) tbWork.new( _("New"), Iconos.NuevoMas(), self.crear ) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() self.lbPuntuacion = Controles.LB(self).alinCentrado().ponTipoLetra(puntos=10, peso=75) self.lbPGN = Controles.LB(self).ponTipoLetra(peso=75).ponWrap() self.setStyleSheet("QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}") liMasAcciones = ( ("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),) lytb, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=siLibre, siGrabar=siGrabar, siGrabarTodos=siGrabar, siJugar=mAnalisis.maxRecursion > 10, liMasAcciones=liMasAcciones) lyTabl = Colocacion.H().relleno().control(self.tablero).relleno() lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control(self.lbMotor).control(self.lbTiempo) lyV = Colocacion.V() lyV.control(tbWork) lyV.otro(lyTabl) lyV.otro(lytb) lyV.otro(lyMotor) lyV.control(self.lbPGN) lyV.relleno() wm = WMuestra(self, muestraInicial) muestraInicial.wmu = wm # Layout self.ly = Colocacion.H().margen(10) self.ly.otro(lyV) self.ly.control(wm) lyM = Colocacion.H().margen(0).otro(self.ly).relleno() layout = Colocacion.V() layout.otro(lyM) layout.margen(3) layout.setSpacing(1) self.setLayout(layout) self.recuperarVideo(siTam=False) self.show() wm.cambiadoRM(muestraInicial.posElegida) self.activaMuestra(muestraInicial)
def __init__(self, winBookGuide, siMoves=True): QtGui.QWidget.__init__(self) self.siMoves = siMoves self.winBookGuide = winBookGuide if self.siMoves: self.tree = winBookGuide.wmoves.tree else: self.tree = None self.movActual = None confTablero = VarGen.configuracion.confTablero("INFOMOVEBOOKGUIDE", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.ponMensajero(self.mueveHumano) self.cpActual = ControlPosicion.ControlPosicion() self.historia = None self.posHistoria = None self.intervalo = 1400 lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24) self.lbPGN = LBPGN("").anchoFijo(self.tablero.ancho).ponWrap() self.lbPGN.colocate = self.colocatePartida if siMoves: tree = winBookGuide.wmoves.tree # Valoracion liOpciones = [(tit[0], k, tit[1]) for k, tit in tree.dicValoracion.iteritems()] self.lbValoracion = Controles.LB(self, _("Rating") + ":") self.cbValoracion = Controles.CB( self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion) # Ventaja liOpciones = [(tit, k, icon) for k, (tit, icon) in tree.dicVentaja.iteritems()] self.lbVentaja = Controles.LB(self, _("Advantage") + ":") self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado( self.cambiadoVentaja) # Comentario self.emComentario = Controles.EM( self, siHTML=False).capturaCambios(self.cambiadoComentario) lyVal = Colocacion.H().control(self.lbValoracion).control( self.cbValoracion).relleno() lyVen = Colocacion.H().control(self.lbVentaja).control( self.cbVentaja).relleno() lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control( self.emComentario) lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbPGN).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) if siMoves: layout.otro(lyEd) layout.relleno() self.setLayout(layout) self.usoNormal = True self.siReloj = False
def __init__(self, winBookGuide, siMoves=True): QtGui.QWidget.__init__(self) self.siMoves = siMoves self.winBookGuide = winBookGuide if self.siMoves: self.tree = winBookGuide.wmoves.tree else: self.tree = None self.movActual = None configuracion = VarGen.configuracion confTablero = configuracion.confTablero("INFOMOVEBOOKGUIDE", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.ponMensajero(self.mueveHumano) self.cpActual = ControlPosicion.ControlPosicion() self.historia = None self.posHistoria = None self.intervalo = 1400 lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24) self.lbPGN = Controles.LB(self).anchoFijo(self.tablero.ancho).ponWrap() self.lbPGN.colocate = self.colocatePartida self.lbPGN.setStyleSheet( "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}" ) self.lbPGN.ponTipoLetra(puntos=configuracion.puntosPGN) self.lbPGN.setOpenExternalLinks(False) def muestraPos(txt): self.colocatePartida(int(txt)) self.connect(self.lbPGN, QtCore.SIGNAL("linkActivated(QString)"), muestraPos) self.siFigurines = configuracion.figurinesPGN if siMoves: tree = winBookGuide.wmoves.tree # Valoracion liOpciones = [(tit[0], k, tit[1]) for k, tit in tree.dicValoracion.iteritems()] self.lbValoracion = Controles.LB(self, _("Rating") + ":") self.cbValoracion = Controles.CB( self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion) # Ventaja liOpciones = [(tit, k, icon) for k, (tit, icon) in tree.dicVentaja.iteritems()] self.lbVentaja = Controles.LB(self, _("Advantage") + ":") self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado( self.cambiadoVentaja) # Comentario self.emComentario = Controles.EM( self, siHTML=False).capturaCambios(self.cambiadoComentario) lyVal = Colocacion.H().control(self.lbValoracion).control( self.cbValoracion).relleno() lyVen = Colocacion.H().control(self.lbVentaja).control( self.cbVentaja).relleno() lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control( self.emComentario) else: self.lbOpening = Controles.LB(self).alinCentrado().ponWrap() self.lbOpening.ponTipoLetra(puntos=10, peso=200) lyO = Colocacion.H().relleno().control(self.lbOpening).relleno() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbPGN).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) if not siMoves: layout.otro(lyO) layout.otro(lya) if siMoves: layout.otro(lyEd) layout.relleno() self.setLayout(layout) self.usoNormal = True self.siReloj = False
def __init__(self, winBookGuide, siMoves=True): QtGui.QWidget.__init__(self) self.siMoves = siMoves self.winBookGuide = winBookGuide if self.siMoves: self.tree = winBookGuide.wmoves.tree else: self.tree = None self.movActual = None confTablero = VarGen.configuracion.confTablero("INFOMOVEBOOKGUIDE", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.ponMensajero(self.mueveHumano) self.cpActual = ControlPosicion.ControlPosicion() self.historia = None self.posHistoria = None self.intervalo = 1400 lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24) self.lbPGN = LBPGN("").anchoFijo(self.tablero.ancho).ponWrap() self.lbPGN.colocate = self.colocatePartida if siMoves: tree = winBookGuide.wmoves.tree # Valoracion liOpciones = [( tit[0], k, tit[1] ) for k, tit in tree.dicValoracion.iteritems()] self.lbValoracion = Controles.LB(self, _("Rating") + ":") self.cbValoracion = Controles.CB(self, liOpciones, 0).capturaCambiado(self.cambiadoValoracion) # Ventaja liOpciones = [( tit, k, icon ) for k, (tit, icon) in tree.dicVentaja.iteritems()] self.lbVentaja = Controles.LB(self, _("Advantage") + ":") self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado(self.cambiadoVentaja) # Comentario self.emComentario = Controles.EM(self, siHTML=False).capturaCambios(self.cambiadoComentario) lyVal = Colocacion.H().control(self.lbValoracion).control(self.cbValoracion).relleno() lyVen = Colocacion.H().control(self.lbVentaja).control(self.cbVentaja).relleno() lyEd = Colocacion.V().otro(lyVal).otro(lyVen).control(self.emComentario) lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbPGN).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) if siMoves: layout.otro(lyEd) layout.relleno() self.setLayout(layout) self.usoNormal = True self.siReloj = False
def __init__(self, panelOpening, configuracion): QtGui.QWidget.__init__(self) self.panelOpening = panelOpening self.dbop = panelOpening.dbop self.partidabase = panelOpening.partidabase self.num_jg_inicial = len(self.partidabase) self.posJugada = self.num_jg_inicial confTablero = configuracion.confTablero("POSLINES", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.ponMensajero(self.mueveHumano) self.tablero.dispatchSize(self.ajustaAncho) self.tablero.dbVisual_setFichero(self.dbop.nomFichero) self.tablero.dbVisual_setShowAllways(True) self.dbop.setdbVisual_Tablero(self.tablero) # To close self.intervalo = 1400 tipoLetra = Controles.TipoLetra(puntos=configuracion.puntosPGN) lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siTiempo=True, siLibre=False, tamIcon=24) self.lbPGN = Controles.LB(self).ponWrap() self.lbPGN.colocate = self.colocatePartida self.lbPGN.setStyleSheet( "QLabel{ border-style: groove; border-width: 2px; border-color: LightSlateGray; padding: 8px;}" ) self.lbPGN.ponFuente(tipoLetra) self.lbPGN.setOpenExternalLinks(False) def muestraPos(txt): self.colocatePartida(int(txt)) self.connect(self.lbPGN, QtCore.SIGNAL("linkActivated(QString)"), muestraPos) self.siFigurines = configuracion.figurinesPGN dicNAGs = TrListas.dicNAGs() self.dicValoracion = collections.OrderedDict() self.dicValoracion[BUENO] = (dicNAGs[1], PantallaColores.nag2ico(1, 16)) self.dicValoracion[MALO] = (dicNAGs[2], PantallaColores.nag2ico(2, 16)) self.dicValoracion[MUY_BUENO] = (dicNAGs[3], PantallaColores.nag2ico(3, 16)) self.dicValoracion[MUY_MALO] = (dicNAGs[4], PantallaColores.nag2ico(4, 16)) self.dicValoracion[INTERESANTE] = (dicNAGs[5], PantallaColores.nag2ico(5, 16)) self.dicValoracion[DUDOSA] = (dicNAGs[6], PantallaColores.nag2ico(6, 16)) self.dicValoracion[SIN_VALORACION] = (_("No rating"), QtGui.QIcon()) self.dicVentaja = collections.OrderedDict() self.dicVentaja[V_SIN] = (_("Undefined"), QtGui.QIcon()) self.dicVentaja[V_IGUAL] = (dicNAGs[11], Iconos.V_Blancas_Igual_Negras()) self.dicVentaja[V_BLANCAS] = (dicNAGs[14], Iconos.V_Blancas()) self.dicVentaja[V_BLANCAS_MAS] = (dicNAGs[16], Iconos.V_Blancas_Mas()) self.dicVentaja[V_BLANCAS_MAS_MAS] = (dicNAGs[18], Iconos.V_Blancas_Mas_Mas()) self.dicVentaja[V_NEGRAS] = (dicNAGs[15], Iconos.V_Negras()) self.dicVentaja[V_NEGRAS_MAS] = (dicNAGs[17], Iconos.V_Negras_Mas()) self.dicVentaja[V_NEGRAS_MAS_MAS] = (dicNAGs[19], Iconos.V_Negras_Mas_Mas()) # Valoracion liOpciones = [(tit[0], k, tit[1]) for k, tit in self.dicValoracion.iteritems()] self.cbValoracion = Controles.CB(self, liOpciones, 0).capturaCambiado( self.cambiadoValoracion) self.cbValoracion.ponFuente(tipoLetra) # Ventaja liOpciones = [(tit, k, icon) for k, (tit, icon) in self.dicVentaja.iteritems()] self.cbVentaja = Controles.CB(self, liOpciones, 0).capturaCambiado(self.cambiadoVentaja) self.cbVentaja.ponFuente(tipoLetra) # Comentario self.emComentario = Controles.EM(self, siHTML=False).capturaCambios( self.cambiadoComentario) self.emComentario.ponFuente(tipoLetra) self.emComentario.altoFijo(5 * configuracion.altoFilaPGN) lyVal = Colocacion.H().control(self.cbValoracion).control( self.cbVentaja) lyEd = Colocacion.V().otro(lyVal).control(self.emComentario) # Apertura self.lbApertura = Controles.LB(self).alinCentrado().ponFuente( tipoLetra).ponWrap() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbPGN).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) layout.otro(lyEd) layout.control(self.lbApertura) layout.relleno() self.setLayout(layout) self.ajustaAncho() self.siReloj = False self.ponPartida(self.partidabase)
def __init__(self, procesador): self.procesador = procesador self.configuracion = procesador.configuracion self.db = EndingsGTB.DBendings(self.configuracion) self.t4 = LibChess.T4(self.configuracion) QTVarios.WDialogo.__init__( self, procesador.main_window, _("Endings with Gaviota Tablebases"), Iconos.Finales(), "endings_gtb" ) self.game = Game.Game() self.act_recno = -1 li_acciones = ( (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Config"), Iconos.Configurar(), self.configurar), None, (_("Utilities"), Iconos.Utilidades(), self.utilidades), None, ) tb = QTVarios.LCTB(self, li_acciones) ly_bt, self.bt_movs = QTVarios.lyBotonesMovimiento( self, "", siTiempo=True, siLibre=False, rutina=self.run_botones, tamIcon=24 ) self.chb_help = Controles.CHB(self, _("Help mode"), False) ly_bt.espacio(20).control(self.chb_help) self.wpzs = QtWidgets.QWidget(self) self.wpzs.li_labels = [] ly_wpzs = Colocacion.H() for x in range(6): lbl = Controles.LB(self.wpzs) self.wpzs.li_labels.append(lbl) ly_wpzs.control(lbl) self.wpzs.setLayout(ly_wpzs) self.wpzs.mousePressEvent = self.change self.color_done = QTUtil.qtColorRGB(213, 233, 250) li_acciones = ( None, (" " + _("Play"), Iconos.Play1(), self.play), None, (" " + _("New"), Iconos.New1(), self.nuevo), None, (" " + _("Remove"), Iconos.Remove1(), self.remove), None, ) self.tb_run = Controles.TBrutina(self, li_acciones, tamIcon=32, puntos=self.configuracion.x_tb_fontpoints) ly_top = Colocacion.H().control(tb).relleno().control(self.wpzs).relleno().control(self.tb_run) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("XFEN", _("Position"), 140, centered=True) o_columns.nueva("MATE", _("Mate"), 60, centered=True) o_columns.nueva("TRIES", _("Tries"), 50, centered=True) o_columns.nueva("MOVES", _("Minimum moves"), 120, centered=True) o_columns.nueva("TIMEMS", _("Minimum time"), 120, centered=True) self.grid = Grid.Grid(self, o_columns, siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuracion.x_pgn_fontpoints) self.grid.ponAltoFila(self.configuracion.x_pgn_rowheight) self.grid.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) ly_pos = Colocacion.V().control(self.grid) config_board = self.configuracion.config_board("ENDINGSGTB", 64) self.tablero = TableroEndings(self, config_board) self.tablero.set_startup_control(self.startup_control) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) self.tablero.set_dispatcher(self.mueve_humano) self.pzs = self.tablero.piezas self.playing = False ly_left_bottom = Colocacion.V().control(self.tablero).otro(ly_bt).relleno().margen(0) w = QtWidgets.QWidget(self) w.setLayout(ly_left_bottom) w.setFixedWidth(self.tablero.ancho + 16) ly_bottom = Colocacion.H().control(w).otro(ly_pos) layout = Colocacion.V().otro(ly_top).otro(ly_bottom).margen(6) self.setLayout(layout) self.restore_video() dic = self.configuracion.leeVariables("endingsGTB") self.key = key = dic.get("KEY") if (not key) or len(key) > self.configuracion.piezas_gaviota(): key = "KPk" self.db.set_examples_auto(dic.get("EXAMPLES_AUTO", True)) self.set_key(key) self.play_next_type = dic.get("PLAY_NEXT", PLAY_STOP) self.grid.gotop() self.play()
def __init__(self, tb_analysis, ventana, is_white, siLibre, must_save, muestraInicial): titulo = _("Analysis") icono = Iconos.Tutor() extparam = "analysis" QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam) self.tb_analysis = tb_analysis self.muestraActual = None configuration = Code.configuration config_board = configuration.config_board("ANALISIS", 48) self.siLibre = siLibre self.must_save = must_save self.is_white = is_white tbWork = QTVarios.LCTB(self, icon_size=24) tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar) tbWork.new(_("New"), Iconos.NuevoMas(), self.crear) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(is_white) self.board.dispatchSize(self.size_board_changed) self.lbMotor = Controles.LB(self).align_center() self.lbTiempo = Controles.LB(self).align_center() self.lbPuntuacion = (Controles.LB(self).align_center().ponTipoLetra( puntos=configuration.x_pgn_fontpoints, peso=75)) self.lbPGN = Controles.LB(self).set_wrap().ponTipoLetra( puntos=configuration.x_pgn_fontpoints).anchoFijo(self.board.ancho) self.setStyleSheet( "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}" ) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clipboard()), ) lytb, self.tb = QTVarios.lyBotonesMovimiento( self, "", siLibre=siLibre, must_save=must_save, siGrabarTodos=must_save, siJugar=tb_analysis.max_recursion > 10, liMasAcciones=liMasAcciones, ) lyTabl = Colocacion.H().relleno().control(self.board).relleno() lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control( self.lbMotor).control(self.lbTiempo) lyV = Colocacion.V() lyV.control(tbWork) lyV.otro(lyTabl) lyV.otro(lytb) lyV.otro(lyMotor) lyV.control(self.lbPGN) lyV.relleno() wm = WMuestra(self, muestraInicial) muestraInicial.wmu = wm # Layout self.ly = Colocacion.H().margen(10) self.ly.otro(lyV) self.ly.control(wm) lyM = Colocacion.H().margen(0).otro(self.ly).relleno() layout = Colocacion.V() layout.otro(lyM) layout.margen(3) layout.setSpacing(1) self.setLayout(layout) self.restore_video(siTam=False) wm.cambiadoRM(muestraInicial.pos_selected) self.activaMuestra(muestraInicial)
def __init__(self, owner, configuracion, bloqueApertura): icono = Iconos.Apertura() titulo = _("Select an opening") extparam = "selectOpening" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) # Variables-------------------------------------------------------------------------- self.apStd = AperturasStd.ListaAperturasStd(configuracion, True, True) self.configuracion = configuracion self.partida = Partida.Partida() self.bloqueApertura = bloqueApertura self.liActivas = [] # Tablero confTablero = configuracion.confTablero("APERTURAS", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) # Current pgn self.lbPGN = Controles.LB(self, "").ponWrap().ponTipoLetra(puntos=10, peso=75) ly = Colocacion.H().control(self.lbPGN) gbPGN = Controles.GB(self, _("Current opening"), ly) # Movimiento self.siMoviendoTiempo = False lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24) self.tbBM = tbBM # Tool bar tb = Controles.TBrutina(self) tb.new( _("Accept"), Iconos.Aceptar(), self.aceptar ) tb.new( _("Cancel"), Iconos.Cancelar(), self.cancelar ) tb.new( _("Reinit"), Iconos.Reiniciar(), self.resetPartida ) tb.new( _("Takeback"), Iconos.Atras(), self.atras ) tb.new( _("Remove"), Iconos.Borrar(), self.borrar ) # Lista Aperturas oColumnas = Columnas.ListaColumnas() dicTipos = {"b": Iconos.pmEstrella(), "n": Iconos.pmPuntoAzul(), "l": Iconos.pmNaranja()} oColumnas.nueva("TIPO", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) oColumnas.nueva("OPENING", _("Possible continuation"), 480) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, altoFila=32) self.registrarGrid(self.grid) # # Derecha lyD = Colocacion.V().control(tb).control(self.grid) gbDerecha = Controles.GB(self, "", lyD) # # Izquierda lyI = Colocacion.V().control(self.tablero).otro(lyBM).control(gbPGN) gbIzquierda = Controles.GB(self, "", lyI) splitter = QtGui.QSplitter(self) splitter.addWidget(gbIzquierda) splitter.addWidget(gbDerecha) self.registrarSplitter(splitter, "splitter") ## Completo ly = Colocacion.H().control(splitter).margen(3) self.setLayout(ly) self.recuperarVideo(siTam=True) self.ponActivas() self.resetPartida() self.actualizaPosicion()
def __init__(self, owner, configuration, opening_block): icono = Iconos.Opening() titulo = _("Select an opening") extparam = "selectOpening" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) # Variables-------------------------------------------------------------------------- self.apStd = OpeningsStd.apTrain self.configuration = configuration self.game = Game.Game() self.opening_block = opening_block self.liActivas = [] # Board config_board = configuration.config_board("APERTURAS", 32) self.board = Board.Board(self, config_board) self.board.crea() self.board.set_dispatcher(self.player_has_moved) # Current pgn self.lbPGN = Controles.LB(self, "").set_wrap().ponTipoLetra(puntos=10, peso=75) # Movimiento self.is_moving_time = False lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, icon_size=24) self.tbBM = tbBM # Tool bar tb = Controles.TBrutina(self) tb.new(_("Accept"), Iconos.Aceptar(), self.aceptar) tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar) tb.new(_("Reinit"), Iconos.Reiniciar(), self.resetPartida) tb.new(_("Takeback"), Iconos.Atras(), self.atras) tb.new(_("Remove"), Iconos.Borrar(), self.borrar) # Lista Openings o_columns = Columnas.ListaColumnas() dicTipos = {"b": Iconos.pmSun(), "n": Iconos.pmPuntoAzul(), "l": Iconos.pmNaranja()} o_columns.nueva("TYPE", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) o_columns.nueva("OPENING", _("Possible continuation"), 480) self.grid = Grid.Grid(self, o_columns, siSelecFilas=True, altoFila=32) self.register_grid(self.grid) # # Derecha lyD = Colocacion.V().control(tb).control(self.grid) gbDerecha = Controles.GB(self, "", lyD) # # Izquierda lyI = Colocacion.V().control(self.board).otro(lyBM).control(self.lbPGN) gbIzquierda = Controles.GB(self, "", lyI) splitter = QtWidgets.QSplitter(self) splitter.addWidget(gbIzquierda) splitter.addWidget(gbDerecha) self.register_splitter(splitter, "splitter") # Completo ly = Colocacion.H().control(splitter).margen(3) self.setLayout(ly) self.ponActivas() self.resetPartida() self.actualizaPosicion() dic = {"_SIZE_": "916,444", "SP_splitter": [356, 548]} self.restore_video(dicDef=dic)
def __init__(self, owner, configuracion, bloqueApertura): icono = Iconos.Apertura() titulo = _("Select an opening") extparam = "selectOpening" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) # Variables-------------------------------------------------------------------------- self.apStd = AperturasStd.ListaAperturasStd(configuracion, True, True) self.configuracion = configuracion self.partida = Partida.Partida() self.bloqueApertura = bloqueApertura self.liActivas = [] # Tablero confTablero = configuracion.confTablero("APERTURAS", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) # Current pgn self.lbPGN = Controles.LB(self, "").ponWrap().ponTipoLetra(puntos=10, peso=75) # Movimiento self.siMoviendoTiempo = False lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24) self.tbBM = tbBM # Tool bar tb = Controles.TBrutina(self) tb.new(_("Accept"), Iconos.Aceptar(), self.aceptar) tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar) tb.new(_("Reinit"), Iconos.Reiniciar(), self.resetPartida) tb.new(_("Takeback"), Iconos.Atras(), self.atras) tb.new(_("Remove"), Iconos.Borrar(), self.borrar) # Lista Aperturas oColumnas = Columnas.ListaColumnas() dicTipos = { "b": Iconos.pmSun(), "n": Iconos.pmPuntoAzul(), "l": Iconos.pmNaranja() } oColumnas.nueva("TIPO", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) oColumnas.nueva("OPENING", _("Possible continuation"), 480) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True, altoFila=32) self.registrarGrid(self.grid) # # Derecha lyD = Colocacion.V().control(tb).control(self.grid) gbDerecha = Controles.GB(self, "", lyD) # # Izquierda lyI = Colocacion.V().control(self.tablero).otro(lyBM).control( self.lbPGN) gbIzquierda = Controles.GB(self, "", lyI) splitter = QtGui.QSplitter(self) splitter.addWidget(gbIzquierda) splitter.addWidget(gbDerecha) self.registrarSplitter(splitter, "splitter") # Completo ly = Colocacion.H().control(splitter).margen(3) self.setLayout(ly) self.ponActivas() self.resetPartida() self.actualizaPosicion() dic = {'_SIZE_': '916,444', 'SP_splitter': [356, 548]} self.recuperarVideo(dicDef=dic)
def __init__(self, procesador): icono = Iconos.ManualSave() extparam = "manualsave" titulo = _("Save positions to FNS/PGN") QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono, extparam) self.procesador = procesador self.configuracion = procesador.configuracion self.posicion = ControlPosicion.ControlPosicion() self.posicion.posInicial() self.gestor_motor = None self.pgn = None self.fns = None self.li_labels = [ ["Site", ""], ["Event", ""], ["Date", ""], ["White", ""], ["Black", ""], ["WhiteElo", ""], ["BlackElo", ""], ["Result", ""], ] self.li_labels.extend([["", ""] for x in range(10)]) self.li_analysis = [] self.analyzing = False self.partida = None # Toolbar liAcciones = ( (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("External engines"), Iconos.Motores(), self.ext_engines), None, ) tb = QTVarios.LCTB(self, liAcciones) # Board + botones + solucion + boton salvado ## bt_change_position = Controles.PB(self, " " + _("Change position"), self.change_position, plano=False) bt_change_position.ponIcono(Iconos.Datos(), 24) ## conf_tablero = self.configuracion.confTablero("MANUALSAVE", 32) self.tablero = Tablero.Tablero(self, conf_tablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(True) ## lybt, bt = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24, siTiempo=False) ## self.em_solucion = Controles.EM(self, siHTML=False).altoMinimo(40).capturaCambios(self.reset_partida) ## self.bt_solucion = Controles.PB(self, " " + _("Save solution"), self.savesolucion, plano=False).ponIcono(Iconos.Grabar(), 24) self.bt_editar = Controles.PB(self, " " + _("Edit"), self.editar_solucion, plano=False).ponIcono(Iconos.PlayGame()) ly = Colocacion.V().control(self.em_solucion).control(self.bt_editar) gb = Controles.GB(self, _("Solution"), ly) ### lybtp = Colocacion.H().control(bt_change_position).espacio(20).control(self.bt_solucion) lyT = Colocacion.V().otro(lybtp).control(self.tablero).otro(lybt).control(gb) gb_left = Controles.GB(self, "", lyT) # Ficheros PGN + FNS lb_pgn = Controles.LB(self, _("PGN") + ": ") self.bt_pgn = Controles.PB(self, "", self.pgn_select, plano=False).anchoMinimo(300) bt_no_pgn = Controles.PB(self, "", self.pgn_unselect).ponIcono(Iconos.Delete()).anchoFijo(16) lb_fns = Controles.LB(self, _("FNS") + ": ") self.bt_fns = Controles.PB(self, "", self.fns_select, plano=False).anchoMinimo(300) bt_no_fns = Controles.PB(self, "", self.fns_unselect).ponIcono(Iconos.Delete()).anchoFijo(16) ## Codec lb_codec = Controles.LB(self, _("Encoding") + ": ") liCodecs = [k for k in set(v for k, v in encodings.aliases.aliases.iteritems())] liCodecs.sort() liCodecs = [(k, k) for k in liCodecs] liCodecs.insert(0, ("%s: %s" % (_("By default"), _("UTF-8")), "default")) self.codec = "default" self.cb_codecs = Controles.CB(self, liCodecs, self.codec) ### ly0 = Colocacion.G().control(lb_pgn, 0, 0).control(self.bt_pgn, 0, 1).control(bt_no_pgn, 0, 2) ly0.control(lb_fns, 1, 0).control(self.bt_fns, 1, 1).control(bt_no_fns, 1, 2) ly1 = Colocacion.H().control(lb_codec).control(self.cb_codecs).relleno(1) ly = Colocacion.V().otro(ly0).otro(ly1) gb_files = Controles.GB(self, _("File to save"), ly) # Labels + correlativo oColumnas = Columnas.ListaColumnas() oColumnas.nueva("LABEL", _("Label"), 80, edicion=Delegados.LineaTextoUTF8(), siCentrado=True) oColumnas.nueva("VALUE", _("Value"), 280, edicion=Delegados.LineaTextoUTF8()) self.grid_labels = Grid.Grid(self, oColumnas, siEditable=True, xid=1) n = self.grid_labels.anchoColumnas() self.grid_labels.setFixedWidth(n + 20) self.registrarGrid(self.grid_labels) ## lb_number = Controles.LB(self, _("Correlative number")+": ") self.sb_number = Controles.SB(self, 0, 0, 99999999).tamMaximo(50) lb_number_help = Controles.LB(self, _("Replace symbol # in Value column (#=3, ###=003)")) lb_number_help.setWordWrap(True) ly_number = Colocacion.H().control(lb_number).control(self.sb_number).control(lb_number_help, 4) ly = Colocacion.V().control(self.grid_labels).otro(ly_number) gb_labels = Controles.GB(self, _("PGN labels"), ly) # Analysis + grid + start/stop + multiPV self.bt_start = Controles.PB(self, "", self.start).ponIcono(Iconos.Pelicula_Seguir(), 32) self.bt_stop = Controles.PB(self, "", self.stop).ponIcono(Iconos.Pelicula_Pausa(), 32) self.bt_stop.hide() lb_engine = Controles.LB(self, _("Engine") + ":") liMotores = self.configuracion.comboMotoresCompleto() self.cb_engine = Controles.CB(self, liMotores, self.configuracion.tutor.clave).capturaCambiado(self.reset_motor) lb_multipv = Controles.LB(self, _("Multi PV")+": ") self.sb_multipv = Controles.SB(self, 1, 1, 500).tamMaximo(50) ## oColumnas = Columnas.ListaColumnas() oColumnas.nueva("PDT", _("Evaluation"), 100, siCentrado=True) oColumnas.nueva("PGN", _("Solution"), 360) self.grid_analysis = Grid.Grid(self, oColumnas, siSelecFilas=True) self.registrarGrid(self.grid_analysis) ## lb_analysis_help = Controles.LB(self, _("Double click to send analysis line to solution")) ### ly_lin1 = Colocacion.H().control(self.bt_start).control(self.bt_stop).control(lb_engine).control(self.cb_engine) ly_lin1.relleno(1).control(lb_multipv).control(self.sb_multipv) ly = Colocacion.V().otro(ly_lin1).control(self.grid_analysis).control(lb_analysis_help) gb_analysis = Controles.GB(self, _("Analysis"), ly) # ZONA splitter_right = QtGui.QSplitter(self) splitter_right.setOrientation(QtCore.Qt.Vertical) splitter_right.addWidget(gb_files) splitter_right.addWidget(gb_labels) splitter_right.addWidget(gb_analysis) self.registrarSplitter(splitter_right, "RIGHT") ## splitter = QtGui.QSplitter(self) splitter.addWidget(gb_left) splitter.addWidget(splitter_right) self.registrarSplitter(splitter, "ALL") layout = Colocacion.V().control(tb).control(splitter).margen(5) self.setLayout(layout) self.inicializa()
def __init__(self, mAnalisis, ventana, siBlancas, siLibre, siGrabar, muestraInicial): titulo = _("Analysis") icono = Iconos.Tutor() extparam = "analysis" QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam) self.mAnalisis = mAnalisis self.muestraActual = None confTablero = VarGen.configuracion.confTablero("ANALISIS", 48) self.siLibre = siLibre self.siGrabar = siGrabar self.siBlancas = siBlancas tbWork = Controles.TBrutina(self, tamIcon=24) tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar) tbWork.new(_("New"), Iconos.NuevoMas(), self.crear) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() self.lbPuntuacion = Controles.LB(self).alinCentrado().ponTipoLetra( puntos=10, peso=75) self.lbPGN = Controles.LB(self).ponTipoLetra(peso=75).ponWrap() self.setStyleSheet( "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}" ) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()), ) lytb, self.tb = QTVarios.lyBotonesMovimiento( self, "", siLibre=siLibre, siGrabar=siGrabar, siGrabarTodos=siGrabar, siJugar=mAnalisis.maxRecursion > 10, liMasAcciones=liMasAcciones) lyTabl = Colocacion.H().relleno().control(self.tablero).relleno() lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control( self.lbMotor).control(self.lbTiempo) lyV = Colocacion.V() lyV.control(tbWork) lyV.otro(lyTabl) lyV.otro(lytb) lyV.otro(lyMotor) lyV.control(self.lbPGN) lyV.relleno() wm = WMuestra(self, muestraInicial) muestraInicial.wmu = wm # Layout self.ly = Colocacion.H().margen(10) self.ly.otro(lyV) self.ly.control(wm) lyM = Colocacion.H().margen(0).otro(self.ly).relleno() layout = Colocacion.V() layout.otro(lyM) layout.margen(3) layout.setSpacing(1) self.setLayout(layout) self.recuperarVideo(siTam=False) self.show() wm.cambiadoRM(muestraInicial.posElegida) self.activaMuestra(muestraInicial)