def leeGuion(self, nomGuion, siFenInicial): li = self.dbGuiones.get(nomGuion, TabVisual.Guion()) self.guion = TabVisual.Guion() if li: self.tablero.dicMovibles = {} # self.tableroOwner.borraMovibles() self.tablero.crea() for reg in li: if reg._registro: tp, id, a1h8 = reg._registro tarea, fila = self.creaTareaBase(tp, id, a1h8, -1) if tarea is None: continue tarea.recupera(reg) if hasattr(reg, "_bloqueDatos"): sc = tarea.itemSC() sc.bloqueDatos = reg._bloqueDatos sc.update() sc.setVisible(False) tarea.marcado(False) else: tarea = self.guion.recuperaReg(reg) tarea._marcado = False if siFenInicial: cp = ControlPosicion.ControlPosicion() cp.leeFen(self.fenInicial) self.tablero.ponPosicionBase(cp) self.tablero.activaTodas() self.nomGuion = nomGuion
def importaOtroTablero(self): if self.tableroOwner.dicMovibles: for k, v in self.tableroOwner.dicMovibles.iteritems(): xobj = str(v) if "Marco" in xobj: sc = self.tablero.creaMarco(v.bloqueDatos) tarea = TabVisual.GT_Marco() elif "Flecha" in xobj: sc = self.tablero.creaFlecha(v.bloqueDatos) tarea = TabVisual.GT_Flecha() elif "SVG" in xobj: sc = self.tablero.creaSVG(v.bloqueDatos) tarea = TabVisual.GT_SVG() elif "Marker" in xobj: sc = self.tablero.creaMarker(v.bloqueDatos) tarea = TabVisual.GT_Marker() else: continue sc.ponRutinaPulsada(self.pulsadoItemSC, tarea.id()) tarea.itemSC(sc) tarea.itemSCOwner(v) self.guion.nuevaTarea(tarea) self.tablero.copiaPosicionDe(self.tableroOwner) self.fenInicial = self.tablero.fenActual() self.tablero.activaTodas() self.g_guion.gotop()
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 addText(self): self.guion.cierraPizarra() tarea = TabVisual.GT_Texto(self.guion) fila = self.guion.nuevaTarea(tarea, -1) self.ponMarcado(fila, True) self.ponSiGrabar() self.guion.pizarra.show() self.guion.pizarra.mensaje.setFocus()
def gmas(self, siInsertar): ta = TabVisual.GT_Action(None) liActions = [(_F(txt), Iconos.PuntoRojo(), "GTA_%s" % action) for action, txt in ta.dicTxt.iteritems()] # tc = TabVisual.GT_Configuration(None) # liConfigurations = [(txt, Iconos.PuntoVerde(), "GTC_%s" % configuration) for configuration, txt in tc.dicTxt.iteritems()] liMore = [ (_("Text"), Iconos.Texto(), TabVisual.TP_TEXTO), (_("Actions"), Iconos.Run(), liActions), # (_("Configuration"), Iconos.Configurar(), liConfigurations), ] resp = self.selectBanda.menuParaExterior(liMore) if resp: xid = resp fila = self.g_guion.recno() if siInsertar else -1 if xid == TabVisual.TP_TEXTO: tarea = TabVisual.GT_Texto(self.guion) fila = self.guion.nuevaTarea(tarea, fila) self.ponMarcado(fila, True) self.ponSiGrabar() elif resp.startswith("GTA_"): self.creaAction(resp[4:], fila) # elif resp.startswith("GTC_"): # key = resp[4:] # txt = tc.dicTxt[key] # if not self.creaConfiguration(txt, key, fila): # return else: li = xid.split("_") tp = li[1] xid = int(li[2]) desde, hasta = self.desdeHasta(_("Director"), self.ultDesde, self.ultHasta) if desde: self.creaTarea(tp, xid, desde + hasta, fila) if siInsertar: self.g_guion.goto(fila, 0) else: self.g_guion.gobottom()
def creaTareaBase(self, tp, id, a1h8, fila): tpid = tp, id if tp == "P": tarea = TabVisual.GT_PiezaMueve() tarea.desdeHasta(a1h8[:2], a1h8[2:]) elif tp == "C": tarea = TabVisual.GT_PiezaCrea() tarea.desde(a1h8) tarea.pieza(id) elif tp == "B": tarea = TabVisual.GT_PiezaBorra() tarea.desde(a1h8) tarea.pieza(id) else: if tp == "F": regFlecha = self.dbFlechas[id] if regFlecha is None: return None, None regFlecha.tpid = tpid regFlecha.a1h8 = a1h8 sc = self.tablero.creaFlecha(regFlecha) tarea = TabVisual.GT_Flecha() elif tp == "M": regMarco = self.dbMarcos[id] if regMarco is None: return None, None regMarco.tpid = tpid regMarco.a1h8 = a1h8 sc = self.tablero.creaMarco(regMarco) tarea = TabVisual.GT_Marco() elif tp == "S": regSVG = self.dbSVGs[id] if regSVG is None: return None, None regSVG.tpid = tpid regSVG.a1h8 = a1h8 sc = self.tablero.creaSVG(regSVG, siEditando=True) tarea = TabVisual.GT_SVG() elif tp == "X": regMarker = self.dbMarkers[id] if regMarker is None: return None, None regMarker.tpid = tpid regMarker.a1h8 = a1h8 sc = self.tablero.creaMarker(regMarker, siEditando=True) tarea = TabVisual.GT_Marker() sc.ponRutinaPulsada(self.pulsadoItemSC, tarea.id()) tarea.itemSC(sc) tarea.marcado(True) tarea.registro((tp, id, a1h8)) fila = self.guion.nuevaTarea(tarea, fila) return tarea, fila
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, regMarco): QtWidgets.QDialog.__init__(self, owner) self.setWindowTitle(_("Box")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) if not regMarco: regMarco = TabVisual.PMarco() 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 marco que se usara en los menus del tutorial config = FormLayout.Editbox(_("Name"), ancho=120) liGen.append((config, regMarco.nombre)) # ( "tipo", "n", Qt.SolidLine ), #1=SolidLine, 2=DashLine, 3=DotLine, 4=DashDotLine, 5=DashDotDotLine config = FormLayout.Combobox(_("Line Type"), QTUtil2.tiposDeLineas()) liGen.append((config, regMarco.tipo)) # ( "color", "n", 0 ), config = FormLayout.Colorbox(_("Color"), 80, 20) liGen.append((config, regMarco.color)) # ( "colorinterior", "n", -1 ), config = FormLayout.Colorbox(_("Internal color"), 80, 20, siChecked=True) liGen.append((config, regMarco.colorinterior)) # ( "opacidad", "n", 1.0 ), config = FormLayout.Dial(_("Degree of transparency"), 0, 99) liGen.append((config, 100 - int(regMarco.opacidad * 100))) # ( "grosor", "n", 1 ), # ancho del trazo config = FormLayout.Spinbox(_("Thickness"), 1, 20, 50) liGen.append((config, regMarco.grosor)) # ( "redEsquina", "n", 0 ), config = FormLayout.Spinbox(_("Rounded corners"), 0, 100, 50) liGen.append((config, regMarco.redEsquina)) # orden config = FormLayout.Combobox(_("Order concerning other items"), QTUtil2.listaOrdenes()) liGen.append((config, regMarco.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: regMarco.a1h8 = a1h8 regMarco.siMovible = True marco = self.tablero.creaMarco(regMarco) self.liEjemplos.append(marco)
def __init__(self, owner, regMarker, xml=None, nombre=None): QtGui.QDialog.__init__(self, owner) self.setWindowTitle(_("Marker")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.configuracion = VarGen.configuracion if not regMarker: regMarker = TabVisual.PMarker() regMarker.xml = xml if nombre: regMarker.nombre = nombre liAcciones = [ (_("Save"), Iconos.Aceptar(), self.grabar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, ] tb = Controles.TBrutina(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, regMarker.nombre)) # ( "opacidad", "n", 1.0 ), config = FormLayout.Dial(_("Degree of transparency"), 0, 99) liGen.append((config, 100 - int(regMarker.opacidad * 100))) # ( "psize", "n", 100 ), config = FormLayout.Spinbox(_("Size") + " %", 1, 1600, 50) liGen.append((config, regMarker.psize)) # ( "poscelda", "n", 1 ), li = ( ("%s-%s" % (_("Top"), _("Left")), 0), ("%s-%s" % (_("Top"), _("Right")), 1), ("%s-%s" % (_("Bottom"), _("Left")), 2), ("%s-%s" % (_("Bottom"), _("Right")), 3), ) config = FormLayout.Combobox(_("Position in the square"), li) liGen.append((config, regMarker.poscelda)) # orden config = FormLayout.Combobox(_("Order concerning other items"), QTUtil2.listaOrdenes()) liGen.append((config, regMarker.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: regMarker.a1h8 = a1h8 regMarker.siMovible = True marker = self.tablero.creaMarker(regMarker, siEditando=True) self.liEjemplos.append(marker)
def creaAction(self, action, fila): tarea = TabVisual.GT_Action(self.guion) tarea.action(action) fila = self.guion.nuevaTarea(tarea, fila) self.ponSiGrabar() self.refresh_guion()
def __init__(self, owner, tablero): self.owner = owner self.posicion = tablero.ultPosicion self.tablero = tablero self.configuracion = tablero.configuracion self.fenM2 = self.posicion.fenM2() self.origin_new = None self.leeRecursos() titulo = _("Director") icono = Iconos.Script() extparam = "tabvisualscript" QTVarios.WDialogo.__init__(self, tablero, titulo, icono, extparam) self.siGrabar = False self.ant_foto = None self.guion = TabVisual.Guion(tablero, self) # Guion liAcciones = [(_("Close"), Iconos.MainMenu(), self.terminar), (_("Cancel"), Iconos.Cancelar(), self.cancelar), (_("Save"), Iconos.Grabar(), self.grabar), (_("New"), Iconos.Nuevo(), self.gnuevo), (_("Insert"), Iconos.Insertar(), self.ginsertar), (_("Remove"), Iconos.Borrar(), self.gborrar), None, (_("Up"), Iconos.Arriba(), self.garriba), (_("Down"), Iconos.Abajo(), self.gabajo), None, (_("Mark"), Iconos.Marcar(), self.gmarcar), None, (_("File"), Iconos.Recuperar(), self.gfile), None] self.tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=24) self.tb.setAccionVisible(self.grabar, False) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 20, siCentrado=True) oColumnas.nueva("MARCADO", "", 20, siCentrado=True, siChecked=True) oColumnas.nueva("TIPO", _("Type"), 50, siCentrado=True) oColumnas.nueva("NOMBRE", _("Name"), 100, siCentrado=True, edicion=Delegados.LineaTextoUTF8()) oColumnas.nueva("INFO", _("Information"), 100, siCentrado=True) self.g_guion = Grid.Grid(self, oColumnas, siCabeceraMovible=False, siEditable=True, siSeleccionMultiple=True) self.g_guion.fixMinWidth() self.registrarGrid(self.g_guion) # Visuales self.selectBanda = PantallaTab.SelectBanda(self) lySG = Colocacion.H().control(self.selectBanda).control(self.g_guion) layout = Colocacion.V().control(self.tb).otro(lySG).margen(3) self.setLayout(layout) self.recuperarVideo() self.recuperar() self.ant_foto = self.foto() self.actualizaBandas() li = self.dbConfig["SELECTBANDA"] if li: self.selectBanda.recuperar(li) num_lb = self.dbConfig["SELECTBANDANUM"] if num_lb is not None: self.selectBanda.seleccionarNum(num_lb) self.ultDesde = "d4" self.ultHasta = "e5" self.g_guion.gotop()
def creaTareaBase(self, tp, xid, a1h8, fila): # if tp != TabVisual.TP_FLECHA: # Se indica al terminar en porque puede que no se grabe # self.ponSiGrabar() tpid = tp, xid if tp == "P": tarea = TabVisual.GT_PiezaMueve(self.guion) desde, hasta = a1h8[:2], a1h8[2:] borra = self.tablero.dameNomPiezaEn(hasta) tarea.desdeHastaBorra(desde, hasta, borra) self.tablero.activaTodas() elif tp == "C": tarea = TabVisual.GT_PiezaCrea(self.guion) borra = self.tablero.dameNomPiezaEn(a1h8) tarea.desde(a1h8, borra) tarea.pieza(xid) self.tablero.activaTodas() elif tp == "B": tarea = TabVisual.GT_PiezaBorra(self.guion) tarea.desde(a1h8) tarea.pieza(xid) else: if tp == TabVisual.TP_FLECHA: regFlecha = self.dbFlechas[xid] if regFlecha is None: return None, None regFlecha.tpid = tpid regFlecha.a1h8 = a1h8 sc = self.tablero.creaFlecha(regFlecha) tarea = TabVisual.GT_Flecha(self.guion) elif tp == TabVisual.TP_MARCO: regMarco = self.dbMarcos[xid] if regMarco is None: return None, None regMarco.tpid = tpid regMarco.a1h8 = a1h8 sc = self.tablero.creaMarco(regMarco) tarea = TabVisual.GT_Marco(self.guion) elif tp == TabVisual.TP_SVG: regSVG = self.dbSVGs[xid] if regSVG is None: return None, None regSVG.tpid = tpid regSVG.a1h8 = a1h8 sc = self.tablero.creaSVG(regSVG, siEditando=True) tarea = TabVisual.GT_SVG(self.guion) elif tp == TabVisual.TP_MARKER: regMarker = self.dbMarkers[xid] if regMarker is None: return None, None regMarker.tpid = tpid regMarker.a1h8 = a1h8 sc = self.tablero.creaMarker(regMarker, siEditando=True) tarea = TabVisual.GT_Marker(self.guion) sc.ponRutinaPulsada(None, tarea.id()) tarea.itemSC(sc) tarea.marcado(True) tarea.registro((tp, xid, a1h8)) fila = self.guion.nuevaTarea(tarea, fila) return tarea, fila
def execMenuSP(self, tipo, siInsertar): if siInsertar: fila = self.g_guion.recno() filaIni = fila else: fila = -1 filaIni = len(self.guion) if tipo == "PI": fen = self.tablero.fenActual() fen = WinPosition.editarPosicion(self, VarGen.configuracion, fen) if fen is None: return None nombre = self.editaNombre(_("Start position")) if nombre is None: return tarea = TabVisual.GT_Posicion() if not fen: fen = ControlPosicion.FEN_INICIAL tarea.fen(fen) tarea.nombre(nombre) self.guion.nuevaTarea(tarea, fila) self.gridPonValor(None, filaIni, None, True) elif tipo == "PP": texto = QTUtil.traePortapapeles() if texto: cp = ControlPosicion.ControlPosicion() try: nombre = self.editaNombre(_("Start position")) if nombre is None: return cp.leeFen(str(texto)) tarea = TabVisual.GT_Posicion() tarea.fen(cp.fen()) tarea.nombre(nombre) self.guion.nuevaTarea(tarea, fila) self.gridPonValor(None, filaIni, None, True) except: return None elif tipo == "PA": nombre = self.editaNombre(_("Start position")) if nombre is None: return tarea = TabVisual.GT_Posicion() tarea.fen(self.tablero.fenActual()) tarea.nombre(nombre) self.guion.nuevaTarea(tarea, fila) else: if tipo == "PGNF": unpgn = PantallaPGN.eligePartida(self) partida = unpgn.partida if unpgn else None else: pgn = QTUtil.traePortapapeles() partida = PantallaTabVPartidas.texto2partida( self, pgn) if pgn else None if partida and partida.numJugadas(): w = PantallaTabVPartidas.W_EligeMovimientos(self, partida) if w.exec_(): for jg in w.resultado: tarea = TabVisual.GT_Jugada() tarea.jugada(jg) self.guion.nuevaTarea(tarea, fila) if fila != -1: fila += 1 else: return None else: return None self.g_guion.goto(filaIni, 0) self.g_guion.refresh()
def __init__(self, tableroOwner): self.leeRecursos() self.tableroOwner = tableroOwner titulo = _("Director") icono = Iconos.Director() extparam = "tabdirector" QTVarios.WDialogo.__init__(self, tableroOwner, titulo, icono, extparam) liAcciones = [ (_("Quit"), Iconos.MainMenu(), self.terminar), None, (_("Arrows"), Iconos.Flechas(), self.flechas), None, (_("Boxes"), Iconos.Marcos(), self.marcos), None, (_("Images"), Iconos.SVGs(), self.svgs), None, (_("Markers"), Iconos.Markers(), self.markers), None, None, (_("Clipboard"), Iconos.Clip(), self.portapapeles), None, (_("Save") + " png", Iconos.GrabarFichero(), self.grabarFichero), None, ] tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=32) pbLimpia = Controles.PB(self, _("Clean main board"), self.limpiaTableroOwner, plano=False) self.siTabCoord = self.dbConfig["COORDINADOS"] if self.siTabCoord is None: self.siTabCoord = self.dbConfig["COORDINADOS"] = True self.chTabCoord = Controles.CHB(self, _("Boards coordinated"), self.siTabCoord) self.chTabCoord.capturaCambiado(self, self.cambiadoTabCoord) pbCoordina = Controles.PB(self, "", self.coordinaTableros).ponIcono( Iconos.Coordina()).anchoFijo(30) # Tablero confTablero = VarGen.configuracion.confTablero( "Director", 24, padre=tableroOwner.confTablero.id()) self.tablero = Tablero.TableroDirector(self, confTablero) self.tablero.crea() self.tablero.ponDispatchEventos(self.dispatch) self.tablero.dispatchSize(self.tableroCambiadoTam) self.tablero.baseCasillasSC.setAcceptDrops(True) self.tablero.ponMensajero(self.muevePieza) self.tablero.activaTodas() self.guion = TabVisual.Guion() self.nomGuion = "" # Tools listaPiezas = QTVarios.ListaPiezas(self, "P,N,B,R,Q,K,p,n,b,r,q,k", self.tablero, 18, margen=0) # Guion liAcciones = [ (_("New"), Iconos.Nuevo(), self.gnuevo), (_("Insert"), Iconos.Insertar(), self.ginsertar), (_("Copy"), Iconos.Copiar(), self.gcopiar), None, (_("Remove"), Iconos.Borrar(), self.gborrar), None, (_("Up"), Iconos.Arriba(), self.garriba), (_("Down"), Iconos.Abajo(), self.gabajo), None, (_("Mark"), Iconos.Marcar(), self.gmarcar), None, (_("Save"), Iconos.Grabar(), self.ggrabarGuion), (_("Open"), Iconos.Recuperar(), self.grecuperarGuion), None, (_("Remove script"), Iconos.Delete(), self.geliminarGuion) ] tbGuion = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=20) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("DIRECTOR", "0", 20, siCentrado=True, siChecked=True) oColumnas.nueva("MARCADO", "1", 20, siCentrado=True, siChecked=True) oColumnas.nueva("TIPO", _("Type"), 50, siCentrado=True) oColumnas.nueva("NOMBRE", _("Name"), 100, siCentrado=True, edicion=Delegados.LineaTextoUTF8()) oColumnas.nueva("INFO", _("Information"), 100, siCentrado=True) self.g_guion = Grid.Grid(self, oColumnas, siCabeceraMovible=False, siEditable=True, siSeleccionMultiple=True) self.g_guion.gotop() self.g_guion.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.registrarGrid(self.g_guion) # Visuales self.dragBanda = QTVarios.DragBanda(self, (5, 5), 32, margen=0) # Botones lyLC = Colocacion.H().control(pbLimpia).control(pbCoordina).control( self.chTabCoord) lyTB = Colocacion.V() lyTB.controlc(self.dragBanda) lyTB.control(self.tablero) lyTB.control(listaPiezas) lyTB.otro(lyLC) lyTB.control(tbGuion) lyTB.control(self.g_guion) lyTB.margen(0) # Layout layout = Colocacion.V().control(tb).otro(lyTB).margen(3) self.setLayout(layout) self.recuperarVideo() self.actualizaBandas() li = self.dbConfig["DRAGBANDA"] if li: self.dragBanda.recuperar(li) self.ultDesde = "d4" self.ultHasta = "e5" self.compruebaTabCoord() self.tablero.setFocus() self.importaOtroTablero()