def __init__(self, owner, regSVG, xml=None, nombre=None): QtGui.QDialog.__init__(self, owner) self.setWindowTitle(_("Image")) self.setWindowFlags(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.TableroVisual(self, confTablero) 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, w_parent, o_columns, where): QTVarios.WDialogo.__init__(self, w_parent, _("Filter"), Iconos.Filtrar(), "rawfilter") self.where = "" li_fields = [(x.head, x.key) for x in o_columns.li_columns if x.key != "__num__"] f = Controles.TipoLetra(puntos=12) # 0, peso=75 ) lbRaw = Controles.LB(self, "%s:" % _("Raw SQL")).ponFuente(f) self.edRaw = EM_SQL( self, where, li_fields).altoFijo(72).anchoMinimo(512).ponFuente(f) lbHelp = Controles.LB( self, _("Right button to select a column of database")).ponFuente(f) lyHelp = Colocacion.H().relleno().control(lbHelp).relleno() ly = Colocacion.H().control(lbRaw).control(self.edRaw) # Toolbar li_acciones = [(_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None] tb = QTVarios.LCTB(self, li_acciones) # Layout layout = Colocacion.V().control(tb).otro(ly).otro(lyHelp).margen(3) self.setLayout(layout) self.edRaw.setFocus() self.restore_video(siTam=False)
def __init__(self, owner, configuration): titulo = _("Save to PGN") icono = Iconos.PGN() extparam = "savepgnvarios" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.configuration = configuration # Opciones li_options = [ (_("Save"), Iconos.GrabarFichero(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, ] self.tb = QTVarios.LCTB(self, li_options) self.wbase = WBaseSave(self, configuration) layout = Colocacion.V().control(self.tb).control(self.wbase) self.setLayout(layout) self.restore_video() self.check_toolbar()
def config(self): menu = QTVarios.LCMenu(self) if self.one_line: menu.opcion("change", _("Change options and create new training"), Iconos.TOLchange()) menu.separador() smenu = menu.submenu(_("What to do after solving"), Iconos.Tacticas()) go_fast = self.tol.go_fast dico = {True: Iconos.Aceptar(), False: Iconos.PuntoAmarillo()} smenu.opcion("t_False", _("Stop"), dico[go_fast is False]) smenu.opcion("t_True", _("Jump to the next"), dico[go_fast is True]) smenu.opcion("t_None", _("Jump to the next from level 2"), dico[go_fast is None]) menu.separador() menu.opcion("remove", _("Remove all results of all levels"), Iconos.Cancelar()) resp = menu.lanza() if resp: if resp.startswith("t_"): self.tol.go_fast = eval(resp[2:]) TurnOnLights.write_tol(self.tol) elif resp == "remove": self.rebuild() elif resp == "change": self.cambiar_one_line()
def __init__(self, wgm, ogm): self.liRegs = ogm.genToSelect() dgm = GM.dicGM() nombre = dgm.get(ogm.gm, ogm.gm) titulo = "%s - %s" % (_("One game"), nombre) icono = Iconos.Uno() extparam = "gm1g" QTVarios.WDialogo.__init__(self, wgm, titulo, icono, extparam) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NOMBRE", _("Opponent"), 180) oColumnas.nueva("FECHA", _("Date"), 90, siCentrado=True) oColumnas.nueva("ECO", _("ECO"), 40, siCentrado=True) oColumnas.nueva("RESULT", _("Result"), 64, siCentrado=True) self.grid = grid = Grid.Grid(self, oColumnas, siSelecFilas=True) self.grid.coloresAlternados() self.registrarGrid(grid) liAcciones = [ (_("Accept"), Iconos.Aceptar(), "aceptar"), None, (_("Cancel"), Iconos.Cancelar(), "cancelar"), None, ] tb = Controles.TB(self, liAcciones) layout = Colocacion.V().control(tb).control(grid).margen(3) self.setLayout(layout) self.recuperarVideo(anchoDefecto=400) self.partidaElegida = None
def config(self): menu = QTVarios.LCMenu(self) smenu = menu.submenu(_("Tactics"), Iconos.Tacticas()) go_fast = self.tol.go_fast dico = {True: Iconos.Aceptar(), False: Iconos.PuntoAmarillo()} smenu.opcion("t_false", _("Stop after solve"), dico[not go_fast]) smenu.opcion("t_true", _("Jump to the next after solve"), dico[go_fast]) menu.separador() menu.opcion("remove", _("Remove all results of all levels"), Iconos.Cancelar()) resp = menu.lanza() if resp: if resp.startswith("t_"): self.tol.go_fast = resp == "t_true" TurnOnLights.write_tol(self.tol) elif resp == "remove": if not QTUtil2.pregunta( self, _("Are you sure you want to delete all results of all levels and start again from scratch?" )): return TurnOnLights.remove_tol(self.tol) self.reinit = True self.guardarVideo() self.accept()
def __init__(self, w_parent, game, nj, procesador): main_window = w_parent self.procesador = procesador titulo = _("Moves tree") icono = Iconos.Arbol() extparam = "moves" QTVarios.WDialogo.__init__(self, main_window, titulo, icono, extparam) dicVideo = self.restore_dicvideo() self.dbCache = UtilSQL.DictSQL(Code.configuration.ficheroMoves) if nj >= 0: position = game.move(nj).position else: position = game.last_position self.listaMoves = ListaMoves(None, position.fen(), self.dbCache) tb = QTVarios.LCTB(self) tb.new(_("Save"), Iconos.Grabar(), self.grabar) tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar) self.infoMove = InfoMove(position.is_white) w = QtWidgets.QWidget(self) ly = Colocacion.V().control(tb).control(self.infoMove) w.setLayout(ly) self.wmoves = WMoves(self, procesador) self.splitter = splitter = QtWidgets.QSplitter(self) splitter.addWidget(w) splitter.addWidget(self.wmoves) ly = Colocacion.H().control(splitter).margen(0) self.setLayout(ly) self.wmoves.tree.setFocus() anchoBoard = self.infoMove.board.width() self.restore_video(anchoDefecto=869 - 242 + anchoBoard) if not dicVideo: dicVideo = { "TREE_3": 27, "SPLITTER": [260 - 242 + anchoBoard, 617], "TREE_1": 49, "TREE_2": 383, "TREE_4": 25, } sz = dicVideo.get("SPLITTER", None) if sz: self.splitter.setSizes(sz) for x in range(1, 6): w = dicVideo.get("TREE_%d" % x, None) if w: self.wmoves.tree.setColumnWidth(x, w)
def __init__(self, wParent, liGM): super(WImportar, self).__init__(wParent) self.liGM = liGM self.setWindowTitle(_("Import")) self.setWindowIcon(Iconos.ImportarGM()) self.setWindowFlags( QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint) # Toolbar liAcciones = [(_("Import"), Iconos.Aceptar(), self.accept), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Mark"), Iconos.Marcar(), self.marcar), None, ] tb = Controles.TBrutina(self, liAcciones) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("ELEGIDO", "", 22, siChecked=True) oColumnas.nueva("NOMBRE", _("Grandmaster"), 140) oColumnas.nueva("PARTIDAS", _("Games"), 60, siDerecha=True) self.grid = Grid.Grid(self, oColumnas) n = self.grid.anchoColumnas() self.grid.setFixedWidth(n + 20) # Layout layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout)
def __init__(self, procesador, liPGN): titulo = _("Edit PGN labels") icono = Iconos.PGN() extparam = "editlabels" QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono, extparam) self.procesador = procesador self.creaLista(liPGN) # Toolbar liAccionesWork = ( (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Up"), Iconos.Arriba(), self.arriba), None, (_("Down"), Iconos.Abajo(), self.abajo), None, ) tbWork = Controles.TBrutina(self, liAccionesWork, tamIcon=24) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("ETIQUETA", _("Label"), 150, edicion=Delegados.LineaTextoUTF8()) oColumnas.nueva("VALOR", _("Value"), 400, edicion=Delegados.LineaTextoUTF8()) self.grid = Grid.Grid(self, oColumnas, siEditable=True) n = self.grid.anchoColumnas() self.grid.setFixedWidth(n + 20) self.registrarGrid(self.grid) # Layout layout = Colocacion.V().control(tbWork).control(self.grid).margen(3) self.setLayout(layout) self.recuperarVideo()
def __init__(self, wParent, partida, nj, procesador): pantalla = wParent self.procesador = procesador titulo = _("Moves tree") icono = Iconos.Arbol() extparam = "moves" QTVarios.WDialogo.__init__(self, pantalla, titulo, icono, extparam) dicVideo = self.recuperarDicVideo() self.dbCache = Util.DicSQL(VarGen.configuracion.ficheroMoves) if nj >= 0: posicion = partida.jugada(nj).posicion else: posicion = partida.ultPosicion self.listaMoves = ListaMoves(None, posicion.fen(), self.dbCache) tb = QTVarios.LCTB(self) tb.new(_("Save"), Iconos.Grabar(), self.grabar) tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar) self.infoMove = InfoMove(posicion.siBlancas) self.wmoves = WMoves(self, procesador) self.splitter = splitter = QtGui.QSplitter(self) splitter.addWidget(self.infoMove) splitter.addWidget(self.wmoves) ly = Colocacion.H().control(splitter).margen(0) layout = Colocacion.V().control(tb).otro(ly).margen(3) self.setLayout(layout) self.wmoves.tree.setFocus() anchoTablero = self.infoMove.tablero.width() self.recuperarVideo(anchoDefecto=869 - 242 + anchoTablero) if not dicVideo: dicVideo = { 'TREE_3': 27, 'SPLITTER': [260 - 242 + anchoTablero, 617], 'TREE_1': 49, 'TREE_2': 383, 'TREE_4': 25 } sz = dicVideo.get("SPLITTER", None) if sz: self.splitter.setSizes(sz) for x in range(1, 6): w = dicVideo.get("TREE_%d" % x, None) if w: self.wmoves.tree.setColumnWidth(x, w)
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 __init__(self, owner, liFens, engine, segundos, fns): super(WDailyTest, self).__init__(owner, _("Your daily test"), Iconos.DailyTest(), "nivel") self.procesador = owner.procesador self.configuration = self.procesador.configuration if engine.startswith("*"): engine = engine[1:] confMotor = self.configuration.buscaTutor(engine) self.xtutor = self.procesador.creaManagerMotor(confMotor, segundos * 1000, None) self.xtutor.maximizaMultiPV() self.historico = owner.historico # Board config_board = self.configuration.config_board("LEVEL", 48) self.liFens = liFens self.nFens = len(self.liFens) self.juego = 0 self.liPuntos = [] self.li_pv = [] self.li_tiempos = [] self.fns = fns self.board = Board.Board(self, config_board) self.board.crea() self.board.set_dispatcher(self.player_has_moved) # Rotulos informacion self.lbColor = Controles.LB(self, "").set_wrap().anchoMinimo(200) self.lbJuego = Controles.LB(self, "").align_center() # Tool bar li_acciones = ( # ( _( "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, li_acciones) lyT = Colocacion.V().control(self.board).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.position = Position.Position() self.restore_video() self.play_next_move()
def __init__(self, wParent): QtGui.QDialog.__init__(self, wParent) self.wParent = wParent self.fichero = "" self.setWindowTitle(_("Create a new book")) self.setWindowIcon(Iconos.Libros()) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) f = Controles.TipoLetra(puntos=9, peso=75) self.configuracion = VarGen.configuracion fvar = self.configuracion.ficheroBooks self.listaLibros = Books.ListaLibros() self.listaLibros.recuperaVar(fvar) lbFichero = Controles.LB(self, _("Book to create") + ":").ponFuente(f) self.btFichero = Controles.PB(self, "", self.buscaFichero, False).anchoMinimo(450).ponFuente(f) lbMaxPly = Controles.LB(self, _("Maximum no. half moves (ply)") + ":").ponFuente(f) self.sbMaxPly = Controles.SB(self, 0, 0, 999).tamMaximo(50) lbMinGame = Controles.LB(self, _("Minimum number of games") + ":").ponFuente(f) self.sbMinGame = Controles.SB(self, 3, 1, 999).tamMaximo(50) lbMinScore = Controles.LB(self, _("Minimum score") + ":").ponFuente(f) self.sbMinScore = Controles.SB(self, 0, 0, 100).tamMaximo(50) self.chbOnlyWhite = Controles.CHB(self, _("White only"), False).ponFuente(f) self.chbOnlyBlack = Controles.CHB(self, _("Black only"), False).ponFuente(f) self.chbUniform = Controles.CHB(self, _("Uniform distribution"), False).ponFuente(f) lyf = Colocacion.H().control(lbFichero).control(self.btFichero) ly = Colocacion.G().margen(15) ly.otroc(lyf, 0, 0, 1, 2) ly.controld(lbMaxPly, 1, 0).control(self.sbMaxPly, 1, 1) ly.controld(lbMinGame, 2, 0).control(self.sbMinGame, 2, 1) ly.controld(lbMinScore, 3, 0).control(self.sbMinScore, 3, 1) ly.controlc(self.chbOnlyWhite, 4, 0, 1, 2) ly.controlc(self.chbOnlyBlack, 5, 0, 1, 2) ly.controlc(self.chbUniform, 6, 0, 1, 2) # Toolbar liAcciones = [(_("Accept"), Iconos.Aceptar(), "aceptar"), None, (_("Cancel"), Iconos.Cancelar(), "cancelar"), None] tb = Controles.TB(self, liAcciones) # Layout layout = Colocacion.V().control(tb).otro(ly).margen(3) self.setLayout(layout)
def __init__(self, wparent, game): self.game = game self.wparent = wparent self.configuration = configuration = Code.configuration 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, with_text=False, icon_size=20) config_board = configuration.config_board("VOYAGERPGN", 24) self.board = Board.Board(self, config_board) self.board.crea() self.board.set_dispatcher(self.player_has_moved) Delegados.generaPM(self.board.piezas) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUMBER", _("N."), 35, centered=True) self.si_figurines_pgn = configuration.x_pgn_withfigurines nAnchoColor = (self.board.ancho - 35 - 20) // 2 o_columns.nueva("WHITE", _("White"), nAnchoColor, edicion=Delegados.EtiquetaPGN( True if self.si_figurines_pgn else None)) o_columns.nueva("BLACK", _("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.board.ancho) ly = Colocacion.V().control(self.tb).control(self.board) ly.control(self.pgn) ly.margen(1) self.setLayout(ly) self.board.set_position(self.game.last_position) self.play_next_move()
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, parent, mensaje, siCancelar, siMuestraYa, opacity, posicion, fixedSize, titCancelar, background, pmImagen=None, puntos=12, conImagen=True): assert parent is not None super(MensEspera, self).__init__(parent) self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint) self.setStyleSheet("QWidget, QLabel { background: %s }" % background) if conImagen: lbi = QtGui.QLabel(self) lbi.setPixmap(pmImagen if pmImagen else Iconos.pmMensEspera()) self.owner = parent self.posicion = posicion self.siCancelado = False self.lb = lb = Controles.LB(parent, resalta(mensaje)).ponFuente( Controles.TipoLetra(puntos=puntos)).ponWrap() if siCancelar: if not titCancelar: titCancelar = _("Cancel") self.btCancelar = Controles.PB( self, titCancelar, rutina=self.cancelar, plano=False).ponIcono(Iconos.Cancelar()).anchoFijo(100) ly = Colocacion.G() if conImagen: ly.control(lbi, 0, 0, 3, 1) ly.control(lb, 1, 1) if siCancelar: ly.controlc(self.btCancelar, 2, 1) ly.margen(12) self.setLayout(ly) self.teclaPulsada = None if fixedSize: self.setFixedWidth(fixedSize) self.setWindowOpacity(opacity) if siMuestraYa: self.muestra()
def tbAcceptCancel(parent, siDefecto=False, siReject=True): liAcciones = [(_("Accept"), Iconos.Aceptar(), parent.aceptar), None, (_("Cancel"), Iconos.Cancelar(), parent.reject if siReject else parent.cancelar), ] if siDefecto: liAcciones.append(None) liAcciones.append((_("Default"), Iconos.Defecto(), parent.defecto)) liAcciones.append(None) return Controles.TBrutina(parent, liAcciones)
def __init__(self, grid_owner, configuracion, work): QtWidgets.QDialog.__init__(self, grid_owner) self.setWindowTitle(_("Edit columns")) self.setWindowIcon(Iconos.EditColumns()) self.grid_owner = grid_owner self.o_columnas_base = grid_owner.columnas() self.o_columnas = self.o_columnas_base.clone() self.configuracion = configuracion self.work = work li_options = [ (_("Save"), Iconos.GrabarFichero(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Up"), Iconos.Arriba(), self.tw_up), (_("Down"), Iconos.Abajo(), self.tw_down), None, (_("Configurations"), Iconos.Configurar(), self.configurations), None, ] tb = QTVarios.LCTB(self, li_options) # Grid o_columns = Columnas.ListaColumnas() o_columns.nueva("SIMOSTRAR", "", 20, siChecked=True) o_columns.nueva("CLAVE", _("Key"), 80, centered=True) o_columns.nueva("CABECERA", _("Title"), 150, edicion=Delegados.LineaTexto()) o_columns.nueva("ANCHO", _("Width"), 60, edicion=Delegados.LineaTexto(siEntero=True), siDerecha=True) self.liAlin = [_("Left"), _("Center"), _("Right")] o_columns.nueva("ALINEACION", _("Alignment"), 100, centered=True, edicion=Delegados.ComboBox(self.liAlin)) o_columns.nueva("CTEXTO", _("Foreground"), 80, centered=True) o_columns.nueva("CFONDO", _("Background"), 80, centered=True) self.grid = Grid.Grid(self, o_columns, siEditable=True) layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout) self.resize(self.grid.anchoColumnas() + 48, 360) self.grid.goto(0, 1)
def ponToolbar(self, tipo): if tipo == self.INICIO: liAcciones = ( (_("Cancel"), Iconos.Cancelar(), "cancelar"), None, (_("Reinit"), Iconos.Reiniciar(), "reset"), None, (_("Help"), Iconos.AyudaGR(), "ayuda"), None, ) elif tipo == self.FINAL_JUEGO: liAcciones = ( (_("Close"), Iconos.MainMenu(), "final"), None, (_("Reinit"), Iconos.Reiniciar(), "reset"), None, (_("Replay game"), Iconos.Pelicula(), "replay"), None, ) elif tipo == self.REPLAY: liAcciones = ( (_("Cancel"), Iconos.Cancelar(), "repCancelar"), None, (_("Reinit"), Iconos.Inicio(), "repReiniciar"), None, (_("Slow"), Iconos.Pelicula_Lento(), "repSlow"), None, (_("Pause"), Iconos.Pelicula_Pausa(), "repPause"), None, (_("Fast"), Iconos.Pelicula_Rapido(), "repFast"), None, ) elif tipo == self.REPLAY_CONTINUE: liAcciones = ( (_("Cancel"), Iconos.Cancelar(), "repCancelar"), None, (_("Continue"), Iconos.Pelicula_Seguir(), "repContinue"), None, ) self.tb.reset(liAcciones)
def __init__(self, owner, dbgames: [DBgames.DBgames]): QTVarios.WDialogo.__init__(self, owner, _("Tags"), Iconos.Tags(), "tagsedition") self.dbgames = dbgames self.dic_cambios = None dcabs = dbgames.recuperaConfig("dcabs", {}) li_basetags = dbgames.li_tags() if li_basetags[0] == "PLYCOUNT": del li_basetags[0] self.li_data = [] for tag in li_basetags: dic = { "KEY": tag, "LABEL": dcabs.get(tag, Util.primera_mayuscula(tag)), "ACTION": "-", "VALUE": "", "NEW": False, } dic["PREV_LABEL"] = dic["KEY"] self.li_data.append(dic) o_columns = Columnas.ListaColumnas() o_columns.nueva("KEY", _("Key"), 80, centered=True) o_columns.nueva("LABEL", _("PGN Label"), 80, centered=True, edicion=Delegados.LineaTexto(rx="[A-Za-z_0-9]*")) self.fill_column = _("Fill column with value") self.remove_column = _("Remove column") self.nothing = "-" self.li_actions = [self.nothing, self.fill_column, self.remove_column] o_columns.nueva("ACTION", _("Action"), 80, centered=True, edicion=Delegados.ComboBox(self.li_actions)) o_columns.nueva("VALUE", self.fill_column, 200, edicion=Delegados.LineaTextoUTF8()) self.gtags = Grid.Grid(self, o_columns, siEditable=True) li_acciones = ( (_("Save"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("New"), Iconos.Nuevo(), self.new), None, ) tb = QTVarios.LCTB(self, li_acciones) ly = Colocacion.V().control(tb).control(self.gtags).margen(4) self.setLayout(ly) self.register_grid(self.gtags) self.restore_video(anchoDefecto=self.gtags.anchoColumnas() + 20, altoDefecto=400) self.gtags.gotop()
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, owner, fichero): self.litourneys = Everest.str_file(fichero) self.configuracion = owner.configuracion titulo = _("New expedition") icono = Iconos.Trekking() extparam = "newexpedition" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.selected = None # Torneo li = [("%s (%d)" % (_F(tourney["TOURNEY"]), len(tourney["GAMES"])), tourney) for tourney in self.litourneys] li.sort(key=lambda x:x[0]) self.cbtourney, lbtourney = QTUtil2.comboBoxLB(self, li, li[0], _("Expedition")) btmas = Controles.PB(self, "", self.mas).ponIcono(Iconos.Mas22()) lytourney = Colocacion.H().control(lbtourney).control(self.cbtourney).control(btmas).relleno(1) # tolerance self.sbtolerance_min, lbtolerance_min = QTUtil2.spinBoxLB(self, 20, 0, 99999, _("From")) self.sbtolerance_min.capturaCambiado(self.tolerance_changed) self.sbtolerance_max, lbtolerance_max = QTUtil2.spinBoxLB(self, 1000, 0, 99999, _("To")) lbexplanation = Controles.LB(self, _("Maximum lost points for having to repeat active game")) ly = Colocacion.H().relleno(2).control(lbtolerance_min).control(self.sbtolerance_min).relleno(1) ly.control(lbtolerance_max).control(self.sbtolerance_max).relleno(2) layout = Colocacion.V().otro(ly).control(lbexplanation) gbtolerance = Controles.GB(self, _("Tolerance"), layout) # tries self.sbtries_min, lbtries_min = QTUtil2.spinBoxLB(self, 2, 1, 99999, _("From")) self.sbtries_min.capturaCambiado(self.tries_changed) self.sbtries_max, lbtries_max = QTUtil2.spinBoxLB(self, 15, 1, 99999, _("To")) lbexplanation = Controles.LB(self, _("Maximum repetitions to return to the previous game")) ly = Colocacion.H().relleno(2).control(lbtries_min).control(self.sbtries_min).relleno(1) ly.control(lbtries_max).control(self.sbtries_max).relleno(2) layout = Colocacion.V().otro(ly).control(lbexplanation) gbtries = Controles.GB(self, _("Tries"), layout) # color liColors = ((_("Default"), "D"), (_("White"), "W"), (_("Black"), "B")) self.cbcolor = Controles.CB(self, liColors, "D") layout = Colocacion.H().relleno(1).control(self.cbcolor).relleno(1) gbcolor = Controles.GB(self, _("Color"), layout) tb = QTVarios.LCTB(self) tb.new(_("Accept"), Iconos.Aceptar(), self.aceptar) tb.new(_("Cancel"), Iconos.Cancelar(), self.cancelar) layout = Colocacion.V().control(tb).otro(lytourney).control(gbtolerance).control(gbtries).control(gbcolor) self.setLayout(layout)
def __init__(self, wgm, ogm): self.ogm = ogm self.liRegs = ogm.genToSelect() self.siReverse = False self.claveSort = None dgm = GM.dicGM() nombre = dgm.get(ogm.gm, ogm.gm) titulo = "%s - %s" % (_("One game"), nombre) icono = Iconos.Uno() extparam = "gm1g" super().__init__(parent=wgm, titulo=titulo, icono=icono, extparam=extparam) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NOMBRE", _("Opponent"), 180) oColumnas.nueva("FECHA", _("Date"), 90, siCentrado=True) oColumnas.nueva("EVENT", _("Event"), 140, siCentrado=True) oColumnas.nueva("ECO", _("ECO"), 40, siCentrado=True) oColumnas.nueva("RESULT", _("Result"), 64, siCentrado=True) self.grid = grid = Grid.Grid(self, oColumnas, siSelecFilas=True, siSeleccionMultiple=True) nAnchoPgn = self.grid.anchoColumnas() + 20 self.grid.setMinimumWidth(nAnchoPgn) self.grid.coloresAlternados() self.registrarGrid(grid) liAcciones = [ (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, ] if ogm.isErasable: liAcciones.append((_("Remove"), Iconos.Borrar(), self.remove)) liAcciones.append(None) tb = Controles.TBrutina(self, liAcciones) layout = Colocacion.V().control(tb).control(grid).margen(3) self.setLayout(layout) self.recuperarVideo(anchoDefecto=400) self.partidaElegida = None
def __init__(self, procesador): self.configuracion = procesador.configuracion self.leeUsuarios() titulo = _("Usuarios") icono = Iconos.Usuarios() extparam = "users" QTVarios.WDialogo.__init__(self, procesador.main_window, titulo, icono, extparam) # Toolbar li_acciones = ( (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("New"), Iconos.Nuevo(), self.nuevo), None, (_("Remove"), Iconos.Borrar(), self.borrar), None, ) tb = QTVarios.LCTB(self, li_acciones) # Lista o_columns = Columnas.ListaColumnas() o_columns.nueva("NUMERO", _("N."), 40, centered=True) o_columns.nueva("USUARIO", _("User"), 140, edicion=Delegados.LineaTextoUTF8()) # o_columns.nueva("PASSWORD", _("Password"), 100, edicion=Delegados.LineaTextoUTF8(siPassword=True)) self.grid = Grid.Grid(self, o_columns, siEditable=True) # Layout layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout) self.grid.gotop() self.grid.setFocus() self.siPlay = False self.register_grid(self.grid) if not self.restore_video(): self.resize(310, 400)
def __init__(self, procesador): self.configuracion = procesador.configuracion self.leeUsuarios() titulo = _("Users") icono = Iconos.Usuarios() extparam = "users" super().__init__(titulo=titulo, icono=icono, extparam=extparam) # Toolbar liAcciones = ( (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("New"), Iconos.Nuevo(), self.nuevo), None, (_("Remove"), Iconos.Borrar(), self.borrar), None, ) tb = Controles.TBrutina(self, liAcciones) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 40, siCentrado=True) oColumnas.nueva("USUARIO", _("User"), 140, edicion=Delegados.LineaTextoUTF8()) # oColumnas.nueva("PASSWORD", _("Password"), 100, edicion=Delegados.LineaTextoUTF8(siPassword=True)) self.grid = Grid.Grid(self, oColumnas, siEditable=True) # Layout layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout) self.grid.gotop() self.grid.setFocus() self.siPlay = False self.registrarGrid(self.grid) if not self.recuperarVideo(): self.resize(310, 400)
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 config(self): menu = QTVarios.LCMenu(self.main_window) menu.opcion("remove", _("Remove all results of all levels"), Iconos.Cancelar()) resp = menu.lanza() if resp: if resp == "remove": if QTUtil2.pregunta( self.main_window, _("Are you sure you want to delete all results of all levels and start again from scratch?" )): self.pgn.remove_all() self.pgnRefresh(True) self.main_window.base.pgn.gotop() self.ponRotulotm()
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, owner, themes: Themes.Themes, current_move: Move.Move): title = _("Select themes") extparam = "selelectthemes" self.owner = owner self.current_move = current_move self.st_current_themes = set(self.current_move.li_themes) icono = Iconos.Themes() QTVarios.WDialogo.__init__(self, owner, title, icono, extparam) self.themes = themes self.themes.check(self.st_current_themes) self.qt_custom = QTUtil.qtColor("#bf5b16") self.configuration = Code.configuration li_options = [ (_("Save"), Iconos.GrabarFichero(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Clear all"), Iconos.Borrar(), self.clear_themes), None, ] tb = QTVarios.LCTB(self, li_options, icon_size=24) # Grid o_columns = Columnas.ListaColumnas() o_columns.nueva("SELECTED", "", 20, siChecked=True) o_columns.nueva("THEME", "", 280) self.o_columnas = o_columns self.grid = Grid.Grid(self, o_columns, siEditable=True, altoCabecera=3) font = Controles.TipoLetra(puntos=Code.configuration.x_pgn_fontpoints) self.grid.ponFuente(font) lb_right_click = Controles.LB( self, " * %s" % _("More options with right-click")) layout = Colocacion.V().control(tb).control( self.grid).control(lb_right_click).margen(3) self.setLayout(layout) self.restore_video(anchoDefecto=self.grid.anchoColumnas() + 48)
def __init__(self, owner, nags: Nags.Nags, current_move: Move.Move): title = _("Ratings") extparam = "selelectnags" self.owner = owner self.current_move = current_move self.st_current_nags = set(self.current_move.li_nags) self.nags = nags icono = self.nags.ico(14, 16) QTVarios.WDialogo.__init__(self, owner, title, icono, extparam) self.configuration = Code.configuration li_options = [ (_("Save"), Iconos.GrabarFichero(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Clear all"), Iconos.Borrar(), self.clear_nags), None, ] tb = QTVarios.LCTB(self, li_options, icon_size=24) # Grid o_columns = Columnas.ListaColumnas() o_columns.nueva("SELECTED", "", 20, siChecked=True) o_columns.nueva("ICON", "", 16, edicion=Delegados.PmIconosBMT(self, self.nags.dic_pm(), x=8)) o_columns.nueva("NUMBER", "", 30, centered=True) o_columns.nueva("TITLE", "", 240) self.o_columnas = o_columns self.grid = Grid.Grid(self, o_columns, siEditable=True, altoCabecera=3) font = Controles.TipoLetra(puntos=Code.configuration.x_pgn_fontpoints) self.grid.ponFuente(font) layout = Colocacion.V().control(tb).control(self.grid).margen(3) self.setLayout(layout) self.restore_video(anchoDefecto=self.grid.anchoColumnas() + 48)