예제 #1
0
    def __init__(self, owner, regSVG, xml=None, nombre=None):

        QtGui.QDialog.__init__(self, owner)

        self.setWindowTitle(_("Image"))
        self.setWindowFlags(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.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, 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)
예제 #2
0
    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, id="M", siSelecFilas=True)

        liAcciones = [
            ( _("Quit"), 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)

        # 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()
예제 #3
0
    def __init__(self, owner, partida):

        titulo = _("Choose moves")
        icono = Iconos.Camara()
        extparam = "tabvpart"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.owner = owner
        self.partida = partida
        self.siEmpiezaConNegras = partida.siEmpiezaConNegras
        siTodos = True
        self.liElegidos = [siTodos] * len(partida.liJugadas)

        liAcciones = [
            (_("Accept"), Iconos.Aceptar(), "aceptar"),
            None,
            (_("Cancel"), Iconos.Cancelar(), "reject"),
            None,
            (_("Mark"), Iconos.Marcar(), "marcar"),
            None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        confTablero = VarGen.configuracion.confTablero("ELIGEMOVS", 24)
        self.tablero = Tablero.TableroVisual(self, confTablero)
        self.tablero.crea()
        self.tablero.desactivaTodas()

        # Pgn
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ELEGIDO", "", 30, siCentrado=True, siChecked=True)
        oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True)
        oColumnas.nueva("BLANCAS", _("White"), 100, siCentrado=True)
        oColumnas.nueva("NEGRAS", _("Black"), 100, siCentrado=True)
        self.pgn = Grid.Grid(self,
                             oColumnas,
                             siCabeceraMovible=False,
                             siSelecFilas=True)
        nAnchoPgn = self.pgn.anchoColumnas() + 20
        self.pgn.setMinimumWidth(nAnchoPgn)
        self.pgn.gotop()

        ly = Colocacion.H().control(self.tablero).control(self.pgn)

        layout = Colocacion.V().control(tb).otro(ly)
        self.setLayout(layout)
        self.pgn.setFocus()

        self.resultado = []
    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, 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()
예제 #6
0
    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()
예제 #7
0
    def __init__(self, tableroOwner):

        self.tableroOwner = tableroOwner
        titulo = _("Board -> Image")
        icono = Iconos.Camara()
        extparam = "tabvisual"
        QTVarios.WDialogo.__init__(self, tableroOwner, titulo, icono, extparam)

        liAcciones = [( _("Quit"), Iconos.MainMenu(), "terminar" ), None,
                      ( _("Clipboard"), Iconos.Clip(), "portapapeles" ), None,
                      ( _("Save") + " png", Iconos.GrabarFichero(), "grabarFichero" ), None,
                      ( _("Arrows"), Iconos.Flechas(), "flechas" ), None,
                      ( _("Boxes"), Iconos.Marcos(), "marcos" ), None,
                      ( _("Images"), Iconos.SVGs(), "svgs" ), None,
                      # ( _( "Sounds" ), Iconos.S_LeerWav(), "sonidos" ), None,
        ]
        tb = Controles.TB(self, liAcciones)

        # Tablero
        idTab = "TABVISUAL"
        confTablero = VarGen.configuracion.confTablero(idTab, 24, padre=tableroOwner.confTablero.id())
        self.tablero = Tablero.TableroVisual(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.copiaPosicionDe(tableroOwner)
        self.fenInicial = self.tablero.fenActual()
        self.tablero.activaTodas()

        self.leeRecursos()
        self.leeGuion("", False)

        # Tools
        self.listaPiezasW = QTVarios.ListaPiezas(self, "P;N;B;R;Q;K", self.tablero, 32)
        self.listaPiezasB = QTVarios.ListaPiezas(self, "p;n;b;r;q;k", self.tablero, 32)

        # Guion
        liAcciones = [( _("New"), Iconos.Nuevo(), "gnuevo" ),
                      ( _("Insert"), Iconos.Insertar(), "ginsertar" ),
                      ( _("Copy"), Iconos.Copiar(), "gcopiar" ), None,
                      ( _("Remove"), Iconos.Borrar(), "gborrar" ), None,
                      ( _("Up"), Iconos.Arriba(), "garriba" ),
                      ( _("Down"), Iconos.Abajo(), "gabajo" ), None,
                      ( _("Mark"), Iconos.Marcar(), "gmarcar" ), None,
                      ( _("Save"), Iconos.Grabar(), "ggrabarGuion" ),
                      ( _("Open"), Iconos.Recuperar(), "grecuperarGuion" ), None,
                      ( _("Remove script"), Iconos.Delete(), "geliminarGuion" )
        ]
        tbGuion = Controles.TB(self, liAcciones, siTexto=False, tamIcon=20)
        oColumnas = Columnas.ListaColumnas()
        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.gotop()

        self.registrarGrid(self.g_guion)

        # Visuales
        self.dragBandaArriba = QTVarios.DragBanda(self, (10,), 40)

        # Guion
        lyGuion = Colocacion.V().control(tbGuion).control(self.g_guion)

        # Zona tablero
        lyT = Colocacion.H()
        lyT.controli(self.listaPiezasW).controli(self.tablero).controli(self.listaPiezasB).otro(lyGuion)

        lyTB = Colocacion.V()
        lyTB.controli(self.dragBandaArriba)
        lyTB.otro(lyT)

        # Layout
        layout = Colocacion.V().control(tb).otro(lyTB).margen(3)
        self.setLayout(layout)

        self.recuperarVideo()

        self.actualizaBandas()
        li = self.dbConfig["DRAGBANDAARRIBA"]
        if li:
            self.dragBandaArriba.recuperar(li)

        self.ultDesde = "d4"
        self.ultHasta = "e5"

        self.g_guion.gotop()
        self.g_guion.setFocus()
예제 #8
0
    def __init__(self, owner, regMarco):

        QtGui.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.TableroVisual(self, confTablero)
        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)