Exemple #1
0
    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 __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()
Exemple #3
0
    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()