def editarBanda(self, cid): li = cid.split("_") tp = li[1] xid = li[2] ok = False if tp == TabVisual.TP_FLECHA: regFlecha = TabTipos.Flecha(dic = self.dbFlechas[xid]) w = PantallaTabVFlechas.WTV_Flecha(self, regFlecha, True) if w.exec_(): self.dbFlechas[xid] = w.regFlecha.save_dic() ok = True elif tp == TabVisual.TP_MARCO: regMarco = TabTipos.Marco(dic=self.dbMarcos[xid]) w = PantallaTabVMarcos.WTV_Marco(self, regMarco) if w.exec_(): self.dbMarcos[xid] = w.regMarco.save_dic() ok = True elif tp == TabVisual.TP_SVG: regSVG = TabTipos.SVG(dic=self.dbSVGs[xid]) w = PantallaTabVSVGs.WTV_SVG(self, regSVG) if w.exec_(): self.dbSVGs[xid] = w.regSVG.save_dic() ok = True elif tp == TabVisual.TP_MARKER: regMarker = TabTipos.Marker(dic=self.dbMarkers[xid]) w = PantallaTabVMarkers.WTV_Marker(self, regMarker) if w.exec_(): self.dbMarkers[xid] = w.regMarker.save_dic() ok = True if ok: self.actualizaBandas() if len(self.guion): self.ponSiGrabar()
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 tiempoSC(x, y, linea, minim, maxim, rutina, color): tt = TabTipos.Texto() tt.tipoLetra = TabTipos.TipoLetra("Courier New", 10) tt.posicion.ancho = 68 tt.posicion.alto = 12 tt.posicion.orden = 5 tt.colorFondo = color tt.valor = "00:00:00" tt.posicion.x = x tt.posicion.y = y tt.linea = linea tt.min = x + minim tt.max = x + maxim tt.rutina = rutina sc = TabElementos.TiempoSC(self.escena, tt) sc.ponCentesimas(0) return sc
def writePizarra(self, tarea): if self.pizarra is None: self.pizarra = TabTipos.Pizarra(self, self.tablero, self.anchoPizarra, editMode=self.winDirector is not None, withContinue=tarea.continuar()) self.pizarra.mensaje.setFocus() self.pizarra.write(tarea) self.pizarra.show()
def list_markers(self): dic = self.dbMarkers.as_dictionary() li = [] for k, dic_marker in dic.items(): marker = TabTipos.Marker(dic=dic_marker) marker.id = k li.append(marker) li.sort(key=lambda x: x.ordenVista) return li
def list_svgs(self): dic = self.dbSVGs.as_dictionary() li = [] for k, dicSVG in dic.items(): svg = TabTipos.SVG(dic=dicSVG) svg.id = k li.append(svg) li.sort(key=lambda x: x.ordenVista) return li
def list_boxes(self): dic = self.dbMarcos.as_dictionary() li = [] for k, dicMarco in dic.items(): box = TabTipos.Marco(dic=dicMarco) box.id = k li.append(box) li.sort(key=lambda x: x.ordenVista) return li
def list_arrows(self): dic = self.dbFlechas.as_dictionary() li = [] for k, dicFlecha in dic.items(): arrow = TabTipos.Flecha(dic=dicFlecha) arrow.id = k li.append(arrow) li.sort(key=lambda x: x.ordenVista) return li
def flechaRivalDefecto(self): bf = TabTipos.Flecha() bf.posicion.orden = kZvalue_pieza - 2 bf.grosor = 1 bf.altocabeza = 22 bf.tipo = 1 bf.destino = "m" bf.anchoCasilla = 36 bf.color = 4281749760 bf.colorinterior = 4289396480 bf.colorinterior2 = -1 bf.redondeos = False bf.forma = "3" bf.ancho = 5 bf.vuelo = 4 bf.descuelgue = 6 return bf
def flechaDefecto(self): bf = TabTipos.Flecha() bf.grosor = 1 bf.altocabeza = 20 bf.tipo = 1 bf.destino = "m" bf.anchoCasilla = 32 bf.color = 4293848576 bf.colorinterior = 4292532736 bf.opacidad = 0.8 bf.redondeos = True bf.forma = "3" bf.ancho = 4 bf.vuelo = 5 bf.descuelgue = 6 bf.posicion.orden = kZvalue_pieza - 1 return bf
def flechaActivoDefecto(self): bf = TabTipos.Flecha() bf.position.orden = ZVALUE_PIECE - 2 bf.grosor = 1 bf.altocabeza = 22 bf.tipo = 1 bf.destino = "m" bf.anchoCasilla = 36 bf.color = 4283760767 bf.colorinterior = 4294923520 bf.colorinterior2 = -1 bf.redondeos = False bf.forma = "3" bf.ancho = 5 bf.vuelo = 4 bf.descuelgue = 6 return bf
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, owner, listaMarcos, dbMarcos): titulo = _("Boxes") icono = Iconos.Marcos() extparam = "marcos" super().__init__(parent=owner, titulo=titulo, icono=icono, extparam=extparam) self.owner = owner flb = Controles.TipoLetra(puntos=8) self.liPMarcos = listaMarcos self.configuracion = VarGen.configuracion self.dbMarcos = dbMarcos self.liPMarcos = owner.listaMarcos() # 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) self.registrarGrid(self.grid) self.recuperarVideo() # Ejemplos liMovs = ["b4c4", "e2e2", "e4g7"] self.liEjemplos = [] regMarco = TabTipos.Marco() for a1h8 in liMovs: regMarco.a1h8 = a1h8 regMarco.siMovible = True marco = self.tablero.creaMarco(regMarco) self.liEjemplos.append(marco) self.grid.gotop() self.grid.setFocus()
def __init__(self, owner, listaMarkers, dbMarkers): titulo = _("Markers") icono = Iconos.Markers() extparam = "markers" QTVarios.WDialogo.__init__(self, owner, titulo, icono, 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.TableroVisual(self, confTablero) self.tablero.crea() self.tablero.copiaPosicionDe(owner.tablero) # Layout layout = Colocacion.H().otro(ly).control(self.tablero) self.setLayout(layout) # Ejemplos liMovs = ["g4h3", "e2e4", "d6f4"] self.liEjemplos = [] regMarker = TabTipos.Marker() with open("./IntFiles/rival.svg") as f: xml = f.read() for a1h8 in liMovs: regMarker.a1h8 = a1h8 regMarker.xml = xml regMarker.siMovible = True marker = self.tablero.creaMarker(regMarker, siEditando=True) self.liEjemplos.append(marker) self.grid.gotop() self.grid.setFocus()
def crea(self): # base cajon = TabTipos.Caja() cajon.posicion.orden = 1 cajon.colorRelleno = 4294243572 ancho, alto = 544, 100 cajon.posicion.ancho, cajon.posicion.alto = ancho, alto cajon.posicion.x, cajon.posicion.y = 0, 0 cajon.tipo = QtCore.Qt.NoPen self.cajonSC = TabElementos.CajaSC(self.escena, cajon) def tiempoSC(x, y, linea, minim, maxim, rutina, color): tt = TabTipos.Texto() tt.tipoLetra = TabTipos.TipoLetra("Courier New", 10) tt.posicion.ancho = 68 tt.posicion.alto = 12 tt.posicion.orden = 5 tt.colorFondo = color tt.valor = "00:00:00" tt.posicion.x = x tt.posicion.y = y tt.linea = linea tt.min = x + minim tt.max = x + maxim tt.rutina = rutina sc = TabElementos.TiempoSC(self.escena, tt) sc.ponCentesimas(0) return sc self.txtInicio = tiempoSC(2, 40, "d", 0, 400, self.mv_inicio, 4294242784) self.txtFinal = tiempoSC(ancho - 6 - 68, 40, "i", -400, 0, self.mv_final, 4294242784) self.txtActual = tiempoSC(68 + 2, 10, "a", 0, 400, None, 4294242784) self.txtDuracion = tiempoSC(236, 78, None, 0, 0, None, 4289509046) tf = TabTipos.Caja() tf.posicion.orden = 2 tf.posicion.x = 70 tf.posicion.y = 44 tf.posicion.ancho = 400 tf.posicion.alto = 4 tf.grosor = 0 tf.colorRelleno = 4281413888 self.linMain = TabElementos.CajaSC(self.escena, tf) tf = TabTipos.Caja() tf.posicion.orden = 2 tf.posicion.x = 70 tf.posicion.y = 32 tf.posicion.ancho = 0 tf.posicion.alto = 26 tf.colorRelleno = 4281413888 TabElementos.CajaSC(self.escena, tf) tf = TabTipos.Caja() tf.posicion.orden = 2 tf.posicion.x = 470 tf.posicion.y = 32 tf.posicion.ancho = 0 tf.posicion.alto = 26 tf.colorRelleno = 4281413888 TabElementos.CajaSC(self.escena, tf) self.setFixedSize(ancho, alto)
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) from_sq, to_sq = a1h8[:2], a1h8[2:] borra = self.tablero.dameNomPiezaEn(to_sq) tarea.desdeHastaBorra(from_sq, to_sq, borra) self.tablero.activaTodas() elif tp == "C": tarea = TabVisual.GT_PiezaCrea(self.guion) borra = self.tablero.dameNomPiezaEn(a1h8) tarea.from_sq(a1h8, borra) tarea.pieza(xid) self.tablero.activaTodas() elif tp == "B": tarea = TabVisual.GT_PiezaBorra(self.guion) tarea.from_sq(a1h8) tarea.pieza(xid) else: xid = str(xid) if tp == TabVisual.TP_FLECHA: dicFlecha = self.dbFlechas[xid] if dicFlecha is None: return None, None regFlecha = TabTipos.Flecha() regFlecha.restore_dic(dicFlecha) regFlecha.tpid = tpid regFlecha.a1h8 = a1h8 sc = self.tablero.creaFlecha(regFlecha) tarea = TabVisual.GT_Flecha(self.guion) elif tp == TabVisual.TP_MARCO: dicMarco = self.dbMarcos[xid] if dicMarco is None: return None, None regMarco = TabTipos.Marco() regMarco.restore_dic(dicMarco) regMarco.tpid = tpid regMarco.a1h8 = a1h8 sc = self.tablero.creaMarco(regMarco) tarea = TabVisual.GT_Marco(self.guion) elif tp == TabVisual.TP_SVG: dicSVG = self.dbSVGs[xid] if dicSVG is None: return None, None regSVG = TabTipos.SVG() regSVG.restore_dic(dicSVG) regSVG.tpid = tpid regSVG.a1h8 = a1h8 sc = self.tablero.creaSVG(regSVG, siEditando=True) tarea = TabVisual.GT_SVG(self.guion) elif tp == TabVisual.TP_MARKER: dicMarker = self.dbMarkers[xid] if dicMarker is None: return None, None regMarker = TabTipos.Marker() regMarker.restore_dic(dicMarker) 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