def editBanda(self, cid): li = cid.split("_") tp = li[1] xid = li[2] ok = False if tp == TabVisual.TP_FLECHA: regFlecha = BoardTypes.Flecha(dic=self.dbFlechas[xid]) w = WindowTabVFlechas.WTV_Flecha(self, regFlecha, True) if w.exec_(): self.dbFlechas[xid] = w.regFlecha.save_dic() ok = True elif tp == TabVisual.TP_MARCO: regMarco = BoardTypes.Marco(dic=self.dbMarcos[xid]) w = WindowTabVMarcos.WTV_Marco(self, regMarco) if w.exec_(): self.dbMarcos[xid] = w.regMarco.save_dic() ok = True elif tp == TabVisual.TP_SVG: regSVG = BoardTypes.SVG(dic=self.dbSVGs[xid]) w = WindowTabVSVGs.WTV_SVG(self, regSVG) if w.exec_(): self.dbSVGs[xid] = w.regSVG.save_dic() ok = True elif tp == TabVisual.TP_MARKER: regMarker = BoardTypes.Marker(dic=self.dbMarkers[xid]) w = WindowTabVMarkers.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 list_markers(self): dic = self.dbMarkers.as_dictionary() li = [] for k, dic_marker in dic.items(): marker = BoardTypes.Marker(dic=dic_marker) marker.id = k li.append(marker) li.sort(key=lambda x: x.ordenVista) return li
def creaTareaBase(self, tp, xid, a1h8, row): # 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.board.dameNomPiezaEn(to_sq) tarea.desdeHastaBorra(from_sq, to_sq, borra) self.board.enable_all() elif tp == "C": tarea = TabVisual.GT_PiezaCrea(self.guion) borra = self.board.dameNomPiezaEn(a1h8) tarea.from_sq(a1h8, borra) tarea.pieza(xid) self.board.enable_all() 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 = BoardTypes.Flecha() regFlecha.restore_dic(dicFlecha) regFlecha.tpid = tpid regFlecha.a1h8 = a1h8 sc = self.board.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 = BoardTypes.Marco() regMarco.restore_dic(dicMarco) regMarco.tpid = tpid regMarco.a1h8 = a1h8 sc = self.board.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 = BoardTypes.SVG() regSVG.restore_dic(dicSVG) regSVG.tpid = tpid regSVG.a1h8 = a1h8 sc = self.board.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 = BoardTypes.Marker() regMarker.restore_dic(dicMarker) regMarker.tpid = tpid regMarker.a1h8 = a1h8 sc = self.board.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)) row = self.guion.nuevaTarea(tarea, row) return tarea, row