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, siBlancasAbajo): QtGui.QWidget.__init__(self) confTablero = VarGen.configuracion.confTablero("INFOMOVE", 32) self.pantalla = self self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancasAbajo) btInicio = Controles.PB(self, "", self.inicio).ponIcono(Iconos.MoverInicio()) btAtras = Controles.PB(self, "", self.atras).ponIcono(Iconos.MoverAtras()) btAdelante = Controles.PB(self, "", self.adelante).ponIcono(Iconos.MoverAdelante()) btFinal = Controles.PB(self, "", self.final).ponIcono(Iconos.MoverFinal()) self.lbAnalisis = Controles.LB(self, "") lybt = Colocacion.H().relleno() for x in (btInicio, btAtras, btAdelante, btFinal): lybt.control(x) lybt.relleno() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbAnalisis).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) layout.relleno() self.setLayout(layout) self.movActual = None
def __init__(self, owner, regSVG, xml=None, nombre=None): QtGui.QDialog.__init__(self, owner) self.setWindowTitle(_("Image")) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.configuracion = VarGen.configuracion if not regSVG: regSVG = TabVisual.PSVG() regSVG.xml = xml if nombre: regSVG.nombre = nombre liAcciones = [(_("Save"), Iconos.Aceptar(), "grabar"), None, (_("Cancel"), Iconos.Cancelar(), "reject"), None, ] tb = Controles.TB(self, liAcciones) # Tablero confTablero = owner.tablero.confTablero self.tablero = Tablero.Tablero(self, confTablero, siDirector=False) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Datos generales liGen = [] # nombre del svg que se usara en los menus del tutorial config = FormLayout.Editbox(_("Name"), ancho=120) liGen.append((config, regSVG.nombre)) # ( "opacidad", "n", 1.0 ), config = FormLayout.Dial(_("Degree of transparency"), 0, 99) liGen.append((config, 100 - int(regSVG.opacidad * 100))) # ( "psize", "n", 100 ), config = FormLayout.Spinbox(_("Size") + " %", 1, 1600, 50) liGen.append((config, regSVG.psize)) # orden config = FormLayout.Combobox(_("Order concerning other items"), QTUtil2.listaOrdenes()) liGen.append((config, regSVG.posicion.orden)) self.form = FormLayout.FormWidget(liGen, dispatch=self.cambios) # Layout layout = Colocacion.H().control(self.form).relleno().control(self.tablero) layout1 = Colocacion.V().control(tb).otro(layout) self.setLayout(layout1) # Ejemplos liMovs = ["b4c4", "e2e2", "e4g7"] self.liEjemplos = [] for a1h8 in liMovs: regSVG.a1h8 = a1h8 regSVG.siMovible = True svg = self.tablero.creaSVG(regSVG, siEditando=True) self.liEjemplos.append(svg)
def __init__(self, owner, listaSVGs, dbSVGs): titulo = _("Images") icono = Iconos.SVGs() extparam = "svgs" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.owner = owner flb = Controles.TipoLetra(puntos=8) self.configuracion = VarGen.configuracion self.liPSVGs = listaSVGs self.dbSVGs = dbSVGs # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 60, siCentrado=True) oColumnas.nueva("NOMBRE", _("Name"), 256) self.grid = Grid.Grid(self, oColumnas, xid="M", siSelecFilas=True) liAcciones = [ (_("Close"), Iconos.MainMenu(), "terminar"), None, (_("New"), Iconos.Nuevo(), "mas"), None, (_("Remove"), Iconos.Borrar(), "borrar"), None, (_("Modify"), Iconos.Modificar(), "modificar"), None, (_("Copy"), Iconos.Copiar(), "copiar"), None, (_("Up"), Iconos.Arriba(), "arriba"), None, (_("Down"), Iconos.Abajo(), "abajo"), None, ] tb = Controles.TB(self, liAcciones) tb.setFont(flb) ly = Colocacion.V().control(tb).control(self.grid) # Tablero confTablero = owner.tablero.confTablero self.tablero = Tablero.Tablero(self, confTablero, siDirector=False) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Layout layout = Colocacion.H().otro(ly).control(self.tablero) self.setLayout(layout) # Ejemplos liMovs = ["g4h3", "e2e2", "d6f4"] self.liEjemplos = [] regSVG = TabTipos.SVG() for a1h8 in liMovs: regSVG.a1h8 = a1h8 regSVG.xml = estrellaSVG regSVG.siMovible = True svg = self.tablero.creaSVG(regSVG, siEditando=True) self.liEjemplos.append(svg) self.grid.gotop() self.grid.setFocus()
def 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, wparent, partida): self.partida = partida self.wparent = wparent self.configuracion = configuracion = VarGen.configuracion QtGui.QWidget.__init__(self, wparent) liAcciones = ( (_("Save"), Iconos.Grabar(), self.save), None, (_("Cancel"), Iconos.Cancelar(), self.wparent.cancelar), None, (_("Start position"), Iconos.Datos(), self.inicial), None, (_("Clear"), Iconos.Borrar(), self.limpia), None, (_("Take back"), Iconos.Atras(), self.atras), None, ) self.tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=20) confTablero = configuracion.confTablero("VOYAGERPGN", 24) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) Delegados.generaPM(self.tablero.piezas) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True) self.siFigurinesPGN = configuracion.figurinesPGN nAnchoColor = (self.tablero.ancho - 35 - 20) / 2 oColumnas.nueva("BLANCAS", _("White"), nAnchoColor, edicion=Delegados.EtiquetaPGN( True if self.siFigurinesPGN else None)) oColumnas.nueva("NEGRAS", _("Black"), nAnchoColor, edicion=Delegados.EtiquetaPGN( False if self.siFigurinesPGN else None)) self.pgn = Grid.Grid(self, oColumnas, siCabeceraMovible=False, siSelecFilas=True) self.pgn.setMinimumWidth(self.tablero.ancho) ly = Colocacion.V().control(self.tb).control(self.tablero) ly.control(self.pgn) ly.margen(1) self.setLayout(ly) self.tablero.ponPosicion(self.partida.ultPosicion) self.siguienteJugada()
def __init__(self, owner, listaMarkers, dbMarkers): titulo = _("Markers") icono = Iconos.Markers() extparam = "markers" super().__init__(parent=owner, titulo=titulo, icono=icono, extparam=extparam) self.owner = owner flb = Controles.TipoLetra(puntos=8) self.configuracion = VarGen.configuracion self.liPMarkers = listaMarkers self.dbMarkers = dbMarkers # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 60, siCentrado=True) oColumnas.nueva("NOMBRE", _("Name"), 256) self.grid = Grid.Grid(self, oColumnas, xid="M", siSelecFilas=True) liAcciones = [ (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("New"), Iconos.Nuevo(), self.mas), None, (_("Remove"), Iconos.Borrar(), self.borrar), None, (_("Modify"), Iconos.Modificar(), self.modificar), None, (_("Copy"), Iconos.Copiar(), self.copiar), None, (_("Up"), Iconos.Arriba(), self.arriba), None, (_("Down"), Iconos.Abajo(), self.abajo), None, ] tb = Controles.TBrutina(self, liAcciones) tb.setFont(flb) ly = Colocacion.V().control(tb).control(self.grid) # Tablero confTablero = owner.tablero.confTablero self.tablero = Tablero.Tablero(self, confTablero, siDirector=False) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Layout layout = Colocacion.H().otro(ly).control(self.tablero) self.setLayout(layout) self.grid.gotop() self.grid.setFocus()
def __init__(self, owner, liFens, motor, segundos, fns): super(WDailyTest, self).__init__(owner, _("Your daily test"), Iconos.DailyTest(), "nivel") self.procesador = owner.procesador self.configuracion = self.procesador.configuracion if motor.startswith("*"): motor = motor[1:] confMotor = self.configuracion.buscaTutor(motor, "mcbrain") self.xtutor = self.procesador.creaGestorMotor(confMotor, segundos * 1000, None) self.xtutor.maximizaMultiPV() self.historico = owner.historico # Tablero confTablero = self.configuracion.confTablero("NIVEL", 48) self.liFens = liFens self.nFens = len(self.liFens) self.juego = 0 self.liPuntos = [] self.liPV = [] self.liTiempos = [] self.fns = fns self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) # Rotulos informacion self.lbColor = Controles.LB(self, "").ponWrap().anchoMinimo(200) self.lbJuego = Controles.LB(self, "").alinCentrado() # Tool bar liAcciones = ( # ( _( "Start" ), Iconos.Empezar(), "empezar" ), (_("Analysis"), Iconos.Tutor(), "analizar"), (_("Cancel"), Iconos.Cancelar(), "cancelar"), (_("Continue"), Iconos.Pelicula_Seguir(), "seguir"), (_("Resign"), Iconos.Abandonar(), "abandonar"), ) self.tb = Controles.TB(self, liAcciones) lyT = Colocacion.V().control(self.tablero).relleno() lyV = Colocacion.V().control(self.lbJuego).relleno().control( self.lbColor).relleno(2) lyTV = Colocacion.H().otro(lyT).otro(lyV) ly = Colocacion.V().control(self.tb).otro(lyTV) self.setLayout(ly) self.posicion = ControlPosicion.ControlPosicion() self.recuperarVideo() self.siguienteJugada()
def creaTablero(self): ae = QTUtil.altoEscritorio() mx = 64 if ae >= 750 else 48 confTablero = self.gestor.configuracion.confTablero("BASE", mx) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.setFocus() Delegados.generaPM(self.tablero.piezas)
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 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, owner, db_coordinates, is_white): QTVarios.WDialogo.__init__(self, owner, _("Coordinates"), Iconos.Blocks(), "runcoordinatesbasic") self.configuracion = Code.configuracion self.is_white = is_white self.db_coordinates = db_coordinates self.coordinates = None self.current_score = 0 self.working = False self.time_ini = None conf_board = self.configuracion.config_board( "RUNCOORDINATESBASIC", self.configuracion.size_base()) self.board = Tablero.TableroEstaticoMensaje(self, conf_board, None, 0.6) self.board.crea() self.board.bloqueaRotacion(True) self.cp_initial = Position.Position() self.cp_initial.set_pos_initial() self.board.ponerPiezasAbajo(self.is_white) self.board.setposition(self.cp_initial) font = Controles.TipoLetra( puntos=self.configuracion.x_sizefont_infolabels) lb_score_k = Controles.LB(self, _("Score") + ":").ponFuente(font) self.lb_score = Controles.LB(self).ponFuente(font) li_acciones = ((_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Begin"), Iconos.Empezar(), self.begin), (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir)) self.tb = QTVarios.LCTB(self, li_acciones) self.show_tb(self.terminar, self.begin) ly_info = Colocacion.G() ly_info.controld(lb_score_k, 0, 0).controlc(self.lb_score, 0, 1) ly_right = Colocacion.V().control( self.tb).relleno().otro(ly_info).relleno() w = QtWidgets.QWidget(self) w.setLayout(ly_right) w.setMinimumWidth(240) ly_center = Colocacion.H().control(self.board).control(w).margen(3) self.setLayout(ly_center) self.restore_video() self.adjustSize()
def __init__(self, owner, partida): titulo = _("Choose moves") icono = Iconos.Camara() extparam = "tabvpart" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.owner = owner self.partida = partida self.siEmpiezaConNegras = partida.siEmpiezaConNegras siTodos = True self.liElegidos = [siTodos] * len(partida.liJugadas) liAcciones = [ (_("Accept"), Iconos.Aceptar(), "aceptar"), None, (_("Cancel"), Iconos.Cancelar(), "reject"), None, (_("Mark"), Iconos.Marcar(), "marcar"), None, ] tb = Controles.TB(self, liAcciones) # Tablero confTablero = VarGen.configuracion.confTablero("ELIGEMOVS", 24) self.tablero = Tablero.TableroVisual(self, confTablero) self.tablero.crea() self.tablero.desactivaTodas() # Pgn oColumnas = Columnas.ListaColumnas() oColumnas.nueva("ELEGIDO", "", 30, siCentrado=True, siChecked=True) oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True) oColumnas.nueva("BLANCAS", _("White"), 100, siCentrado=True) oColumnas.nueva("NEGRAS", _("Black"), 100, siCentrado=True) self.pgn = Grid.Grid(self, oColumnas, siCabeceraMovible=False, siSelecFilas=True) nAnchoPgn = self.pgn.anchoColumnas() + 20 self.pgn.setMinimumWidth(nAnchoPgn) self.pgn.gotop() ly = Colocacion.H().control(self.tablero).control(self.pgn) layout = Colocacion.V().control(tb).otro(ly) self.setLayout(layout) self.pgn.setFocus() self.resultado = []
def __init__(self, wparent, game): self.game = game self.wparent = wparent self.configuracion = configuracion = Code.configuracion QtWidgets.QWidget.__init__(self, wparent) li_acciones = ( (_("Save"), Iconos.Grabar(), self.save), None, (_("Cancel"), Iconos.Cancelar(), self.wparent.cancelar), None, (_("Start position"), Iconos.Datos(), self.inicial), None, (_("Clear"), Iconos.Borrar(), self.limpia), None, (_("Take back"), Iconos.Atras(), self.atras), None, ) self.tb = Controles.TBrutina(self, li_acciones, siTexto=False, tamIcon=20) config_board = configuracion.config_board("VOYAGERPGN", 24) self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() self.tablero.set_dispatcher(self.mueve_humano) Delegados.generaPM(self.tablero.piezas) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUMERO", _("N."), 35, centered=True) self.si_figurines_pgn = configuracion.x_pgn_withfigurines nAnchoColor = (self.tablero.ancho - 35 - 20) // 2 o_columns.nueva( "BLANCAS", _("White"), nAnchoColor, edicion=Delegados.EtiquetaPGN(True if self.si_figurines_pgn else None) ) o_columns.nueva( "NEGRAS", _("Black"), nAnchoColor, edicion=Delegados.EtiquetaPGN(False if self.si_figurines_pgn else None) ) self.pgn = Grid.Grid(self, o_columns, siCabeceraMovible=False, siSelecFilas=True) self.pgn.setMinimumWidth(self.tablero.ancho) ly = Colocacion.V().control(self.tb).control(self.tablero) ly.control(self.pgn) ly.margen(1) self.setLayout(ly) self.tablero.setposition(self.game.last_position) self.siguiente_jugada()
def __init__(self, owner, test, procesador, titulo, icono): QTVarios.WDialogo.__init__(self, owner, titulo, icono, "horses") self.historico = owner.historico self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.test = test # Tablero confTablero = self.configuracion.confTablero("HORSES", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) # Rotulo tiempo self.lbInformacion = Controles.LB( self, _("Goal: to capture the king up to the square a8")).alinCentrado() self.lbMoves = Controles.LB(self, "") # Tool bar liAcciones = ( (_("Cancel"), Iconos.Cancelar(), "cancelar"), (_("Reinit"), Iconos.Reiniciar(), "reiniciar"), (_("Help"), Iconos.AyudaGR(), "ayuda"), ) self.tb = Controles.TB(self, liAcciones) # Layout lyInfo = Colocacion.H().control(self.lbInformacion).relleno().control( self.lbMoves) lyT = Colocacion.V().relleno().control( self.tablero).otro(lyInfo).relleno().margen(10) ly = Colocacion.V().control(self.tb).otro(lyT).relleno().margen(0) self.setLayout(ly) self.recuperarVideo() self.adjustSize() liTB = ["cancelar", "reiniciar", "ayuda"] self.ponToolBar(liTB) self.reset()
def __init__(self, owner, test, procesador, titulo, icono): QTVarios.WDialogo.__init__(self, owner, titulo, icono, "horses") self.historico = owner.historico self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.test = test # Tablero config_board = self.configuracion.config_board("HORSES", 48) self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() self.tablero.set_dispatcher(self.mueve_humano) # Rotulo vtime self.lbInformacion = Controles.LB( self, _("Goal: to capture the king up to the square a8")).alinCentrado() self.lbMoves = Controles.LB(self, "") # Tool bar li_acciones = ( (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Reinit"), Iconos.Reiniciar(), self.reiniciar), None, (_("Help"), Iconos.AyudaGR(), self.ayuda), ) self.tb = Controles.TBrutina(self, li_acciones) # Layout lyInfo = Colocacion.H().control(self.lbInformacion).relleno().control( self.lbMoves) lyT = Colocacion.V().relleno().control( self.tablero).otro(lyInfo).relleno().margen(10) ly = Colocacion.V().control(self.tb).otro(lyT).relleno().margen(0) self.setLayout(ly) self.restore_video() self.adjustSize() self.reset()
def __init__(self, wParent, configuracion, posicion): QtGui.QDialog.__init__(self, wParent) self.wParent = wParent self.setWindowFlags(QtCore.Qt.Tool | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowStaysOnTopHint) self.configuracion = configuracion self.setWindowTitle(_("Voyager 2")) self.setWindowIcon(Iconos.Voyager()) liAcciones = ( (_("Quit"), Iconos.MainMenu(), self.accept), None, (_("Start position"), Iconos.Inicio(), self.posInicial), None, (_("Clear board"), Iconos.Borrar(), self.limpiaTablero), (_("Paste FEN position"), Iconos.Pegar(), self.pegarPosicion), (_("Copy FEN position"), Iconos.Copiar(), self.copiarPosicion), ) tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=20) # Tablero confTablero = configuracion.confTablero("VOYAGER", 24) self.posicion = posicion self.tablero = Tablero.PosTablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueve) self.tablero.mensBorrar = self.borraCasilla self.tablero.mensCrear = self.creaCasilla self.tablero.mensRepetir = self.repitePieza self.ultimaPieza = "P" self.piezas = self.tablero.piezas self.resetPosicion() self.tablero.ponDispatchDrop(self.dispatchDrop) self.tablero.baseCasillasSC.setAcceptDrops(True) ly = Colocacion.V().control(tb).control(self.tablero).margen(1) self.setLayout(ly) self.ponCursor()
def __init__(self, owner): self.workmap = owner.workmap self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.alm = self.workmap.getAim() super().__init__(parent=owner, titulo=_("STS: Strategic Test Suite"), icono=Iconos.STS(), extparam="stsmap") # Tablero confTablero = self.configuracion.confTablero("STSMAP", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueveHumano) # Rotulos informacion self.lbJuego = Controles.LB(self).ponWrap().anchoMinimo(200) # Tool bar self.liAcciones = ( (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir), (_("Cancel"), Iconos.Cancelar(), self.cancelar), (_("Analysis"), Iconos.Tutor(), self.analizar), ) self.tb = Controles.TBrutina(self, self.liAcciones) lyT = Colocacion.V().control(self.tablero).relleno() lyV = Colocacion.V().relleno().control(self.lbJuego).relleno(2) lyTV = Colocacion.H().otro(lyT).otro(lyV) ly = Colocacion.V().control(self.tb).otro(lyTV) self.setLayout(ly) self.recuperarVideo() self.ponToolbar(self.cancelar) self.ponJuego()
def __init__(self, fenActivo): QtGui.QWidget.__init__(self) confTablero = VarGen.configuracion.confTablero("INFOMOVE", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(" w " in fenActivo) self.cpDefecto = ControlPosicion.ControlPosicion() self.cpDefecto.leeFen(fenActivo) self.porDefecto() btInicio = Controles.PB(self, "", self.inicio).ponIcono(Iconos.MoverInicio()) btAtras = Controles.PB(self, "", self.atras).ponIcono(Iconos.MoverAtras()) btAdelante = Controles.PB(self, "", self.adelante).ponIcono( Iconos.MoverAdelante()) btFinal = Controles.PB(self, "", self.final).ponIcono(Iconos.MoverFinal()) self.lbTituloLibro = Controles.LB(self, "") lybt = Colocacion.H().relleno() for x in (btInicio, btAtras, btAdelante, btFinal): lybt.control(x) lybt.relleno() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbTituloLibro).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) layout.relleno() self.setLayout(layout) self.movActual = None
def __init__(self, owner): self.workmap = owner.workmap self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.alm = self.workmap.getAim() QTVarios.WDialogo.__init__(self, owner, _("STS: Strategic Test Suite"), Iconos.STS(), "stsmap") # Tablero config_board = self.configuracion.config_board("STSMAP", 48) self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() self.tablero.set_dispatcher(self.mueve_humano) # Rotulos informacion self.lbJuego = Controles.LB(self).ponWrap().anchoMinimo(200) # Tool bar self.li_acciones = ( (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir), (_("Cancel"), Iconos.Cancelar(), self.cancelar), (_("Analysis"), Iconos.Tutor(), self.analizar), ) self.tb = QTVarios.LCTB(self, self.li_acciones) lyT = Colocacion.V().control(self.tablero).relleno() lyV = Colocacion.V().relleno().control(self.lbJuego).relleno(2) lyTV = Colocacion.H().otro(lyT).otro(lyV) ly = Colocacion.V().control(self.tb).otro(lyTV) self.setLayout(ly) self.restore_video() self.pon_toolbar(self.cancelar) self.ponJuego()
def __init__(self, file_tournament, file_work): QtWidgets.QWidget.__init__(self) Code.list_engine_managers = EngineManager.ListEngineManagers() self.torneo = TournamentRun( file_tournament) # Tournament.Tournament(file_tournament) self.file_work = file_work self.db_work = UtilSQL.ListSQL(file_work) self.setWindowTitle( "%s - %s %d" % (self.torneo.name(), _("Worker"), int(file_work[-5:]))) self.setWindowIcon(Iconos.Torneos()) # Toolbar self.tb = Controles.TBrutina(self, tamIcon=24) # Tablero conf_tablero = Code.configuracion.config_board("TOURNEYPLAY", 36) self.tablero = Tablero.Tablero(self, conf_tablero) self.tablero.crea() Delegados.generaPM(self.tablero.piezas) # PGN self.configuracion = Code.configuracion self.game = Game.Game() self.pgn = ControlPGN.ControlPGN(self) ly_pgn = self.crea_bloque_informacion() self.is_closed = False self.state = None self.current_side = WHITE ly_tt = Colocacion.V().control(self.tb).control(self.tablero) layout = Colocacion.H().otro(ly_tt).otro(ly_pgn).relleno().margen(3) self.setLayout(layout) self.pon_estado(ST_WAITING)
def __init__(self, is_white_bottom): QtWidgets.QWidget.__init__(self) config_board = Code.configuracion.config_board("INFOMOVE", 32) self.main_window = self self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() self.tablero.ponerPiezasAbajo(is_white_bottom) btInicio = Controles.PB(self, "", self.inicio).ponIcono(Iconos.MoverInicio()) btAtras = Controles.PB(self, "", self.atras).ponIcono(Iconos.MoverAtras()) btAdelante = Controles.PB(self, "", self.adelante).ponIcono( Iconos.MoverAdelante()) btFinal = Controles.PB(self, "", self.final).ponIcono(Iconos.MoverFinal()) self.lbAnalisis = Controles.LB(self, "") lybt = Colocacion.H().relleno() for x in (btInicio, btAtras, btAdelante, btFinal): lybt.control(x) lybt.relleno() lyt = Colocacion.H().relleno().control(self.tablero).relleno() lya = Colocacion.H().relleno().control(self.lbAnalisis).relleno() layout = Colocacion.V() layout.otro(lyt) layout.otro(lybt) layout.otro(lya) layout.relleno() self.setLayout(layout) self.movActual = None
def __init__(self, owner, regFlecha, siNombre): QtGui.QDialog.__init__(self, owner) self.setWindowTitle(_("Arrow")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.siNombre = siNombre if not regFlecha: regFlecha = TabVisual.PFlecha() liAcciones = [ (_("Save"), Iconos.Aceptar(), "grabar"), None, (_("Cancel"), Iconos.Cancelar(), "reject"), None, ] tb = Controles.TB(self, liAcciones) # Tablero confTablero = owner.tablero.confTablero.copia( owner.tablero.confTablero.id()) confTablero.anchoPieza(32) self.tablero = Tablero.TableroVisual(self, confTablero) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Datos generales liGen = [] if siNombre: # nombre de la flecha que se usara en los menus del tutorial config = FormLayout.Editbox(_("Name"), ancho=120) liGen.append((config, regFlecha.nombre)) # ( "forma", "t", "a" ), # a = abierta -> , c = cerrada la cabeza, p = poligono cuadrado, liFormas = ( (_("Opened"), "a"), (_("Head closed"), "c"), (_("Polygon 1"), "1"), (_("Polygon 2"), "2"), (_("Polygon 3"), "3"), ) config = FormLayout.Combobox(_("Form"), liFormas) liGen.append((config, regFlecha.forma)) # ( "tipo", "n", Qt.SolidLine ), #1=SolidLine, 2=DashLine, 3=DotLine, 4=DashDotLine, 5=DashDotDotLine config = FormLayout.Combobox(_("Line Type"), QTUtil2.tiposDeLineas()) liGen.append((config, regFlecha.tipo)) # liGen.append( (None,None) ) # ( "color", "n", 0 ), config = FormLayout.Colorbox(_("Color"), 80, 20) liGen.append((config, regFlecha.color)) # ( "colorinterior", "n", -1 ), # si es cerrada config = FormLayout.Colorbox(_("Internal color"), 80, 20, siChecked=True) liGen.append((config, regFlecha.colorinterior)) # ( "opacidad", "n", 1.0 ), config = FormLayout.Dial(_("Degree of transparency"), 0, 99) liGen.append((config, 100 - int(regFlecha.opacidad * 100))) # liGen.append( (None,None) ) # ( "redondeos", "l", False ), liGen.append((_("Rounded edges"), regFlecha.redondeos)) # ( "grosor", "n", 1 ), # ancho del trazo config = FormLayout.Spinbox(_("Thickness"), 1, 20, 50) liGen.append((config, regFlecha.grosor)) # liGen.append( (None,None) ) # ( "altocabeza", "n", 1 ), # altura de la cabeza config = FormLayout.Spinbox(_("Head height"), 0, 100, 50) liGen.append((config, regFlecha.altocabeza)) # ( "ancho", "n", 10 ), # ancho de la base de la flecha si es un poligono config = FormLayout.Spinbox(_("Base width"), 1, 100, 50) liGen.append((config, regFlecha.ancho)) # ( "vuelo", "n", 5 ), # vuelo de la flecha respecto al ancho de la base config = FormLayout.Spinbox( _("Additional width of the base of the head"), 1, 100, 50) liGen.append((config, regFlecha.vuelo)) # ( "descuelgue", "n", 2 ), # vuelo hacia arriba config = FormLayout.Spinbox(_("Height of the base angle of the head"), -100, 100, 50) liGen.append((config, regFlecha.descuelgue)) # liGen.append( (None,None) ) # ( "destino", "t", "c" ), # c = centro, m = minimo config = FormLayout.Combobox(_("Target position"), tiposDestino()) liGen.append((config, regFlecha.destino)) # liGen.append( (None,None) ) # orden config = FormLayout.Combobox(_("Order concerning other items"), QTUtil2.listaOrdenes()) liGen.append((config, regFlecha.posicion.orden)) self.form = FormLayout.FormWidget(liGen, dispatch=self.cambios) # Layout layout = Colocacion.H().control(self.form).relleno().control( self.tablero) layout1 = Colocacion.V().control(tb).otro(layout) self.setLayout(layout1) # Ejemplos liMovs = ["d2d6", "a8h8", "h5b7"] self.liEjemplos = [] for a1h8 in liMovs: regFlecha.a1h8 = a1h8 regFlecha.siMovible = True flecha = self.tablero.creaFlecha(regFlecha) self.liEjemplos.append(flecha)
def __init__(self, owner, listaFlechas, dbFlechas): titulo = _("Arrows") icono = Iconos.Flechas() extparam = "flechas" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.owner = owner flb = Controles.TipoLetra(puntos=8) self.configuracion = VarGen.configuracion self.dbFlechas = dbFlechas self.liPFlechas = owner.listaFlechas() # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 60, siCentrado=True) oColumnas.nueva("NOMBRE", _("Name"), 256) self.grid = Grid.Grid(self, oColumnas, xid="F", siSelecFilas=True) liAcciones = [ (_("Close"), Iconos.MainMenu(), "terminar"), None, (_("New"), Iconos.Nuevo(), "mas"), None, (_("Remove"), Iconos.Borrar(), "borrar"), None, (_("Modify"), Iconos.Modificar(), "modificar"), None, (_("Copy"), Iconos.Copiar(), "copiar"), None, (_("Up"), Iconos.Arriba(), "arriba"), None, (_("Down"), Iconos.Abajo(), "abajo"), None, ] tb = Controles.TB(self, liAcciones) tb.setFont(flb) ly = Colocacion.V().control(tb).control(self.grid) # Tablero confTablero = owner.tablero.confTablero self.tablero = Tablero.TableroVisual(self, confTablero) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Layout layout = Colocacion.H().otro(ly).control(self.tablero) self.setLayout(layout) self.registrarGrid(self.grid) self.recuperarVideo() # Ejemplos liMovs = ["d2d6", "a8h8", "h5b7"] self.liEjemplos = [] regFlecha = TabTipos.Flecha() for a1h8 in liMovs: regFlecha.a1h8 = a1h8 regFlecha.siMovible = True flecha = self.tablero.creaFlecha(regFlecha) self.liEjemplos.append(flecha) self.grid.gotop() self.grid.setFocus()
def __init__(self, tableroOriginal): pantalla = tableroOriginal.parent() titulo = _("Colors") icono = Iconos.EditarColores() extparam = "WColores" QTVarios.WDialogo.__init__(self, pantalla, titulo, icono, extparam) self.tableroOriginal = tableroOriginal self.configuracion = VarGen.configuracion self.confTablero = tableroOriginal.confTablero.copia(tableroOriginal.confTablero._id) self.siBase = tableroOriginal.confTablero._id == "BASE" # Temas ############################################################################################################################# liOpciones = [(_("Your themes"), self.configuracion.ficheroTemas)] for entry in Util.listdir("Themes"): filename = entry.name if filename.endswith("lktheme"): ctema = filename[:-8] liOpciones.append((ctema, "Themes/" + filename)) self.cbTemas = Controles.CB(self, liOpciones, liOpciones[0][1]).capturaCambiado(self.cambiadoTema) self.lbSecciones = Controles.LB(self, _("Section") + ":") self.cbSecciones = Controles.CB(self, [], None).capturaCambiado(self.cambiadoSeccion) lyTemas = Colocacion.G() self.liBT_Temas = [] for i in range(12): for j in range(6): bt = BotonTema(self, self.ponTema) lyTemas.control(bt, i, j) bt.ponTema(None) self.liBT_Temas.append(bt) def creaLB(txt): return Controles.LB(self, txt + ": ").alinDerecha() # Casillas lbTrans = Controles.LB(self, _("Degree of transparency")) lbPNG = Controles.LB(self, _("Image")) # # Blancas lbBlancas = creaLB(_("White squares")) self.btBlancas = BotonColor(self, self.confTablero.colorBlancas, self.actualizaTablero) self.btBlancasPNG = BotonImagen(self, self.confTablero.png64Blancas, self.actualizaTablero, self.btBlancas) self.dialBlancasTrans = DialNum(self, self.confTablero.transBlancas, self.actualizaTablero) # # Negras lbNegras = creaLB(_("Black squares")) self.btNegras = BotonColor(self, self.confTablero.colorNegras, self.actualizaTablero) self.btNegrasPNG = BotonImagen(self, self.confTablero.png64Negras, self.actualizaTablero, self.btNegras) self.dialNegrasTrans = DialNum(self, self.confTablero.transNegras, self.actualizaTablero) # Background lbFondo = creaLB(_("Background")) self.btFondo = BotonColor(self, self.confTablero.colorFondo, self.actualizaTablero) self.btFondoPNG = BotonImagen(self, self.confTablero.png64Fondo, self.actualizaTablero, self.btFondo) self.chbExtended = Controles.CHB(self, _("Extended to outer border"), self.confTablero.extendedColor()).capturaCambiado(self, self.extendedColor) # Actual self.chbTemas = Controles.CHB(self, _("Default"), self.confTablero.siDefTema()).capturaCambiado(self, self.defectoTemas) if self.siBase: self.chbTemas.ponValor(False) self.chbTemas.setVisible(False) # Exterior lbExterior = creaLB(_("Outer Border")) self.btExterior = BotonColor(self, self.confTablero.colorExterior, self.actualizaTablero) # Texto lbTexto = creaLB(_("Coordinates")) self.btTexto = BotonColor(self, self.confTablero.colorTexto, self.actualizaTablero) # Frontera lbFrontera = creaLB(_("Inner Border")) self.btFrontera = BotonColor(self, self.confTablero.colorFrontera, self.actualizaTablero) # Flechas lbFlecha = creaLB(_("Move indicator")) self.lyF = BotonFlecha(self, self.confTablero.fTransicion, self.confTablero.flechaDefecto, self.actualizaTablero) lbFlechaAlternativa = creaLB(_("Arrow alternative")) self.lyFAlternativa = BotonFlecha(self, self.confTablero.fAlternativa, self.confTablero.flechaAlternativaDefecto, self.actualizaTablero) lbFlechaActivo = creaLB(_("Active moves")) self.lyFActual = BotonFlecha(self, self.confTablero.fActivo, self.confTablero.flechaActivoDefecto, self.actualizaTablero) lbFlechaRival = creaLB(_("Opponent moves")) self.lyFRival = BotonFlecha(self, self.confTablero.fRival, self.confTablero.flechaRivalDefecto, self.actualizaTablero) lyActual = Colocacion.G() lyActual.control(self.chbTemas, 0, 0) lyActual.controlc(lbPNG, 0, 2).controlc(lbTrans, 0, 3) lyActual.controld(lbBlancas, 1, 0).control(self.btBlancas, 1, 1).otroc(self.btBlancasPNG, 1, 2).otroc( self.dialBlancasTrans, 1, 3) lyActual.controld(lbNegras, 2, 0).control(self.btNegras, 2, 1).otroc(self.btNegrasPNG, 2, 2).otroc( self.dialNegrasTrans, 2, 3) lyActual.controld(lbFondo, 3, 0).control(self.btFondo, 3, 1).otroc(self.btFondoPNG, 3, 2).control( self.chbExtended, 3, 3) lyActual.controld(lbExterior, 4, 0).control(self.btExterior, 4, 1) lyActual.controld(lbTexto, 5, 0).control(self.btTexto, 5, 1) lyActual.controld(lbFrontera, 6, 0).control(self.btFrontera, 6, 1) lyActual.controld(lbFlecha, 7, 0).otro(self.lyF, 7, 1, 1, 4) lyActual.controld(lbFlechaAlternativa, 8, 0).otro(self.lyFAlternativa, 8, 1, 1, 4) lyActual.controld(lbFlechaActivo, 9, 0).otro(self.lyFActual, 9, 1, 1, 4) lyActual.controld(lbFlechaRival, 10, 0).otro(self.lyFRival, 10, 1, 1, 4) gbActual = Controles.GB(self, _("Active theme"), lyActual) lySecciones = Colocacion.H().control(self.lbSecciones).control(self.cbSecciones).relleno() ly = Colocacion.V().control(self.cbTemas).otro(lySecciones).otro(lyTemas).control(gbActual).relleno() gbTemas = Controles.GB(self, "", ly) gbTemas.setFlat(True) # mas opciones ############################################################################################################## def xDefecto(siDefecto): if self.siBase: siDefecto = False chb = Controles.CHB(self, _("Default"), siDefecto).capturaCambiado(self, self.defectoTableroM) if self.siBase: chb.setVisible(False) return chb def l2mas1(lyG, fila, a, b, c): if a: ly = Colocacion.H().controld(a).control(b) else: ly = Colocacion.H().control(b) lyG.otro(ly, fila, 0).control(c, fila, 1) # Coordenadas lyG = Colocacion.G() # _nCoordenadas lbCoordenadas = creaLB(_("Number")) liOpciones = [("0", 0), ("4", 4), ("2a", 2), ("2b", 3), ("2c", 5), ("2d", 6)] self.cbCoordenadas = Controles.CB(self, liOpciones, self.confTablero.nCoordenadas()).capturaCambiado(self.actualizaTableroM) self.chbDefCoordenadas = xDefecto(self.confTablero.siDefCoordenadas()) l2mas1(lyG, 0, lbCoordenadas, self.cbCoordenadas, self.chbDefCoordenadas) # _tipoLetra lbTipoLetra = creaLB(_("Font")) self.cbTipoLetra = QtGui.QFontComboBox() self.cbTipoLetra.setEditable(False) self.cbTipoLetra.setFontFilters(self.cbTipoLetra.ScalableFonts) self.cbTipoLetra.setCurrentFont(QtGui.QFont(self.confTablero.tipoLetra())) self.connect(self.cbTipoLetra, QtCore.SIGNAL("currentIndexChanged(int)"), self.actualizaTableroM) self.chbDefTipoLetra = xDefecto(self.confTablero.siDefTipoLetra()) l2mas1(lyG, 1, lbTipoLetra, self.cbTipoLetra, self.chbDefTipoLetra) # _cBold self.chbBold = Controles.CHB(self, _("Bold"), self.confTablero.siBold()).capturaCambiado(self, self.actualizaTableroM) self.chbDefBold = xDefecto(self.confTablero.siDefBold()) l2mas1(lyG, 2, None, self.chbBold, self.chbDefBold) # _tamLetra lbTamLetra = creaLB(_("Size") + " %") self.sbTamLetra = Controles.SB(self, self.confTablero.tamLetra(), 1, 200).tamMaximo(50).capturaCambiado( self.actualizaTableroM) self.chbDefTamLetra = xDefecto(self.confTablero.siDefTamLetra()) l2mas1(lyG, 3, lbTamLetra, self.sbTamLetra, self.chbDefTamLetra) # _sepLetras lbSepLetras = creaLB(_("Separation") + " %") self.sbSepLetras = Controles.SB(self, self.confTablero.sepLetras(), -1000, 1000).tamMaximo(50).capturaCambiado( self.actualizaTableroM) self.chbDefSepLetras = xDefecto(self.confTablero.siDefSepLetras()) l2mas1(lyG, 4, lbSepLetras, self.sbSepLetras, self.chbDefSepLetras) gbCoordenadas = Controles.GB(self, _("Coordinates"), lyG) lyOtros = Colocacion.G() # _nomPiezas li = [] lbPiezas = creaLB(_("Pieces")) for entry in Util.listdir("Pieces"): if entry.is_dir(): li.append((entry.name, entry.name)) li.sort(key=lambda x: x[0]) self.cbPiezas = Controles.CB(self, li, self.confTablero.nomPiezas()).capturaCambiado(self.actualizaTableroM) self.chbDefPiezas = xDefecto(self.confTablero.siDefPiezas()) l2mas1(lyOtros, 0, lbPiezas, self.cbPiezas, self.chbDefPiezas) # _tamRecuadro lbTamRecuadro = creaLB(_("Outer Border Size") + " %") self.sbTamRecuadro = Controles.SB(self, self.confTablero.tamRecuadro(), 0, 10000).tamMaximo(50).capturaCambiado( self.actualizaTableroM) self.chbDefTamRecuadro = xDefecto(self.confTablero.siDefTamRecuadro()) l2mas1(lyOtros, 1, lbTamRecuadro, self.sbTamRecuadro, self.chbDefTamRecuadro) # _tamFrontera lbTamFrontera = creaLB(_("Inner Border Size") + " %") self.sbTamFrontera = Controles.SB(self, self.confTablero.tamFrontera(), 0, 10000).tamMaximo(50).capturaCambiado( self.actualizaTableroM) self.chbDefTamFrontera = xDefecto(self.confTablero.siDefTamFrontera()) l2mas1(lyOtros, 2, lbTamFrontera, self.sbTamFrontera, self.chbDefTamFrontera) ly = Colocacion.V().control(gbCoordenadas).espacio(50).otro(lyOtros).relleno() gbOtros = Controles.GB(self, "", ly) gbOtros.setFlat(True) # Tablero ########################################################################################################################## cp = ControlPosicion.ControlPosicion().leeFen("2kr1b1r/2p1pppp/p7/3pPb2/1q3P2/2N1P3/PPP3PP/R1BQK2R w KQ - 0 1") self.tablero = Tablero.Tablero(self, self.confTablero, siMenuVisual=False) self.tablero.crea() self.tablero.ponPosicion(cp) self.rehazFlechas() liAcciones = [(_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Your themes"), Iconos.Temas(), self.temas), None, (_("Import"), Iconos.Mezclar(), self.importar), None, (_("Export"), Iconos.Grabar(), self.exportar), None, ] tb = Controles.TBrutina(self, liAcciones) # tam tablero self.lbTamTablero = Controles.LB(self, "%d px" % self.tablero.width()) # Juntamos lyT = Colocacion.V().control(tb).espacio(15).control(self.tablero).controli(self.lbTamTablero).relleno( 1).margen(3) self.tab = Controles.Tab() self.tab.nuevaTab(gbTemas, _("Themes")) self.tab.nuevaTab(gbOtros, _("Other options")) ly = Colocacion.H().otro(lyT).control(self.tab) self.setLayout(ly) self.elegido = None self.liTemas = self.leeTemas() self.temaActual = {} if self.liTemas: txtTM = self.confTablero.grabaTema() txtBS = self.confTablero.grabaBase() for tema in self.liTemas: if tema: if tema.get("TEXTO", "") == txtTM and txtBS == tema.get("BASE", ""): self.temaActual = tema break self.cambiadoTema() self.defectoTemas() self.extendedColor() self.siActualizando = False self.recuperarVideo(siTam=False)
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, owner, db_coordinates, coordinates): QTVarios.WDialogo.__init__(self, owner, _("Coordinates by blocks"), Iconos.Blocks(), "runcoordinatesblocks") self.configuracion = Code.configuracion self.coordinates = coordinates self.db_coordinates = db_coordinates self.current_score = 0 self.working = False self.time_ini = None conf_board = self.configuracion.config_board("RUNCOORDINATESBLOCKS", self.configuracion.size_base()) self.board = Tablero.TableroEstaticoMensaje(self, conf_board, None, 0.6) self.board.crea() self.board.bloqueaRotacion(True) self.cp_initial = Position.Position() self.cp_initial.set_pos_initial() font = Controles.TipoLetra(puntos=self.configuracion.x_sizefont_infolabels) lb_block_k = Controles.LB(self, _("Block") + ":").ponFuente(font) self.lb_block = Controles.LB(self).ponFuente(font) lb_try_k = Controles.LB(self, _("Tries in this block") + ":").ponFuente(font) self.lb_try = Controles.LB(self).ponFuente(font) lb_minimum_score_k = Controles.LB(self, _("Minimum score") + ":").ponFuente(font) self.lb_minimum_score = Controles.LB(self).ponFuente(font) lb_current_score_block_k = Controles.LB(self, _("Max score in block") + ":").ponFuente(font) self.lb_current_score_block = Controles.LB(self).ponFuente(font) self.lb_current_score_enough = Controles.LB(self).ponImagen(Iconos.pmCorrecto()) self.lb_current_score_enough.hide() self.lb_active_score_k = Controles.LB(self, _("Active score") + ":").ponFuente(font) self.lb_active_score = Controles.LB(self).ponFuente(font) li_acciones = ((_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Begin"), Iconos.Empezar(), self.begin), (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir)) self.tb = QTVarios.LCTB(self, li_acciones) self.show_tb(self.terminar, self.begin) separacion = 20 ly_info = Colocacion.G() ly_info.controld(lb_block_k, 0, 0).controld(self.lb_block, 0, 1) ly_info.filaVacia(1, separacion) ly_info.controld(lb_try_k, 2, 0).controld(self.lb_try, 2, 1) ly_info.filaVacia(3, separacion) ly_info.controld(lb_minimum_score_k, 4, 0).controld(self.lb_minimum_score, 4, 1) ly_info.filaVacia(5, separacion) ly_info.controld(lb_current_score_block_k, 6, 0).controld(self.lb_current_score_block, 6, 1) ly_info.filaVacia(7, separacion) ly_info.controld(self.lb_active_score_k, 8, 0).controld(self.lb_active_score, 8, 1) ly_right = Colocacion.V().control(self.tb).relleno().otro(ly_info).relleno() w = QtWidgets.QWidget(self) w.setLayout(ly_right) w.setMinimumWidth(240) ly_center = Colocacion.H().control(self.board).control(w).margen(3) self.setLayout(ly_center) self.restore_video() self.show_data() self.adjustSize()
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, cpu): QtWidgets.QDialog.__init__(self) self.cpu = cpu dicVideo = self.cpu.dic_video if not dicVideo: dicVideo = {} self.siTop = dicVideo.get("SITOP", True) self.siShowTablero = dicVideo.get("SHOW_TABLERO", True) self.position = Position.Position() self.fen = "" self.almFEN = {} self.siPlay = True self.is_white = True self.siNegras = True self.setWindowTitle(cpu.titulo) self.setWindowIcon(Iconos.Book()) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint) self.setBackgroundRole(QtGui.QPalette.Light) Code.configuracion = cpu.configuracion Code.todasPiezas = Piezas.TodasPiezas() config_board = cpu.configuracion.config_board( "kib" + cpu.kibitzer.huella, 24) self.tablero = Tablero.Tablero(self, config_board) self.tablero.crea() Delegados.generaPM(self.tablero.piezas) self.em = Controles.EM(self, siHTML=False).soloLectura() f = Controles.TipoLetra(name="Courier New", puntos=10) self.em.ponFuente(f) li_acciones = ( (_("Quit"), Iconos.Kibitzer_Terminar(), self.terminar), (_("Continue"), Iconos.Kibitzer_Continuar(), self.play), (_("Pause"), Iconos.Kibitzer_Pausa(), self.pause), (_("Board"), Iconos.Tablero(), self.config_board), ("%s: %s" % (_("Enable"), _("window on top")), Iconos.Top(), self.windowTop), ("%s: %s" % (_("Disable"), _("window on top")), Iconos.Bottom(), self.windowBottom), ) self.tb = Controles.TBrutina(self, li_acciones, siTexto=False, tamIcon=16) self.tb.setAccionVisible(self.play, False) ly1 = Colocacion.H().control(self.tb) ly2 = Colocacion.V().otro(ly1).control(self.em) layout = Colocacion.H().control(self.tablero).otro(ly2) self.setLayout(layout) self.engine = self.lanzaMotor() self.timer = QtCore.QTimer(self) self.timer.timeout.connect(self.cpu.compruebaInput) self.timer.start(200) if not self.siShowTablero: self.tablero.hide() self.restore_video(dicVideo) self.ponFlags()
def __init__(self, cpu, siWidgets=True, flags=None): QtGui.QDialog.__init__(self) self.cpu = cpu self.ficheroVideo = cpu.ficheroVideo self.motor = None self.liData = [] self.almFEN = {} self.fen = "" self.setWindowTitle(cpu.titulo) self.setWindowIcon(Iconos.Motor()) if not flags: flags = QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint | QtCore.Qt.WindowStaysOnTopHint self.setWindowFlags(flags) self.setBackgroundRole(QtGui.QPalette.Light) self.setStyleSheet("QTextEdit { background-color: rgb( 250,250,250); }") VarGen.configuracion = cpu.configuracion VarGen.todasPiezas = Piezas.TodasPiezas() confTablero = cpu.configuracion.confTablero("moscas" + cpu.titulo, 24) self.siWidgets = siWidgets if siWidgets: self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.siShowTablero = siWidgets self.nArrows = 7 self.siTop = True if siWidgets: self.em = Controles.EM(self).soloLectura() liAcciones = ( (_("Quit"), Iconos.Kibitzer_Terminar(), self.terminar), (_("Continue"), Iconos.Kibitzer_Continuar(), self.play), (_("Pause"), Iconos.Kibitzer_Pausa(), self.pause), (_("The best solution found by the engine is saved to the clipboard"), Iconos.MoverGrabar(), self.portapapelesUltJug), (_("Analyze only color"), Iconos.P_16c(), self.color), (_("Board"), Iconos.Tablero(), self.confTablero), ("%s: %s" % (_("Enable"), _("window on top")), Iconos.Top(), self.windowTop), ("%s: %s" % (_("Disable"), _("window on top")), Iconos.Bottom(), self.windowBottom), ) self.tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=16) self.layoutDT = Colocacion.H().control(self.tablero).control(self.em) self.siPlay = True self.siBlancas = True self.siNegras = True self.creaRestoControles() self.timer = QtCore.QTimer(self) self.connect(self.timer, QtCore.SIGNAL("timeout()"), cpu.compruebaInput) self.timer.start(200) self.recuperarVideo() self.ponFlags()