Пример #1
0
    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()
Пример #2
0
 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
Пример #3
0
    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()
Пример #4
0
    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