def mousePressEvent(self, event): super(Histogram, self).mousePressEvent(event) ep = self.mapToScene(event.pos()) if self.owner.valorShowLostPoints(): for p in self.hserie.liPoints: if p.rlostp: if p.rect_lost.contains(ep): self.dispatch(p.gridPos) if event.button() == QtCore.Qt.RightButton: menu = QTVarios.LCMenu(self) menu.opcion("clip", _("Copy to clipboard"), Iconos.Clip()) menu.separador() menu.opcion("file", _("Save") + " png", Iconos.GrabarFichero()) resp = menu.lanza() if resp: pm = QtGui.QPixmap.grabWidget(self) if resp == "clip": QTUtil.ponPortapapeles(pm, tipo="p") else: configuracion = VarGen.configuracion path = QTUtil2.salvaFichero(self, _("File to save"), configuracion.dirSalvados, "%s PNG (*.png)" % _("File"), False) if path: pm.save(path, "png") configuracion.dirSalvados = os.path.dirname(path) configuracion.graba()
def __init__(self, oBase, ventana, segundosPensando, siBlancas, cPuntos, maxRecursion): super(WAnalisisVariantes, self).__init__(ventana) self.oBase = oBase # Creamos los controles self.setWindowTitle(_("Variants")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowCloseButtonHint ) self.setWindowIcon(Iconos.Tutor()) f = Controles.TipoLetra(puntos=12, peso=75) flb = Controles.TipoLetra(puntos=10) lbPuntuacionAnterior = Controles.LB(self, cPuntos).alinCentrado().ponFuente(flb) self.lbPuntuacionNueva = Controles.LB(self).alinCentrado().ponFuente(flb) confTablero = VarGen.configuracion.confTablero("ANALISISVARIANTES", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.tableroT = Tablero.Tablero(self, confTablero) self.tableroT.crea() self.tableroT.ponerPiezasAbajo(siBlancas) btTerminar = Controles.PB(self, _("Close"), self.close).ponPlano(False) btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono(Iconos.MoverLibre()).ponPlano(False) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()),) lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(self, "", siLibre=maxRecursion > 0, liMasAcciones=liMasAcciones) self.maxRecursion = maxRecursion - 1 self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)")) # Creamos los layouts lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(self.tablero) gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).alinCentrado() lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(self.tableroT) gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).alinCentrado() lyBT = Colocacion.H().control(btTerminar).control(btReset).relleno().control(lbSegundos).control(self.segundos) layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1) layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1) self.setLayout(layout) self.move(ventana.x() + 20, ventana.y() + 20)
def __init__(self, owner, pgn, configuracion): titulo = _("Save to PGN") icono = Iconos.PGN() extparam = "savepgn" super().__init__(parent=owner, titulo=titulo, icono=icono, extparam=extparam) self.pgn_read(pgn) self.configuracion = configuracion self.file = "" self.vars_read() # Opciones liOpciones = [ (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Save"), Iconos.GrabarFichero(), self.save), None, (_("Clipboard"), Iconos.Clip(), self.portapapeles), None, (_("Reinit"), Iconos.Reiniciar(), self.reinit), None, ] tb = Controles.TBrutina(self, liOpciones) tabs = Controles.Tab(self) # Tab-fichero ----------------------------------------------------------------------------------------------- lb_file = Controles.LB(self, _("File to save") + ": ") bt_history = Controles.PB(self, "", self.history).ponIcono( Iconos.Favoritos(), 24).ponToolTip(_("Previous")) bt_boxrooms = Controles.PB(self, "", self.boxrooms).ponIcono( Iconos.Trasteros(), 24).ponToolTip(_("Boxrooms PGN")) self.bt_file = Controles.PB(self, "", self.file_select, plano=False).anchoMinimo(300) # Codec lb_codec = Controles.LB(self, _("Encoding") + ": ") liCodecs = [ k for k in set(v for k, v in encodings.aliases.aliases.items()) ] liCodecs.sort() liCodecs = [(k, k) for k in liCodecs] liCodecs.insert(0, (_("Same as file"), "file")) liCodecs.insert(0, ("%s: %s" % (_("By default"), _("UTF-8")), "default")) self.cb_codecs = Controles.CB(self, liCodecs, self.codec) # Rest self.chb_overwrite = Controles.CHB(self, _("Overwrite"), False) self.chb_remove_c_v = Controles.CHB( self, _("Remove comments and variations"), self.remove_c_v) lyF = Colocacion.H().control(lb_file).control( self.bt_file).control(bt_history).control(bt_boxrooms).relleno(1) lyC = Colocacion.H().control(lb_codec).control( self.cb_codecs).relleno(1) ly = Colocacion.V().espacio(15).otro(lyF).otro(lyC).control( self.chb_overwrite).control(self.chb_remove_c_v).relleno(1) w = QtWidgets.QWidget() w.setLayout(ly) tabs.nuevaTab(w, _("File")) self.chb_overwrite.hide() # Tab-labels ----------------------------------------------------------------------------------------------- liAccionesWork = ( ("", Iconos.Mas22(), self.labels_more), None, ("", Iconos.Menos22(), self.labels_less), None, ("", Iconos.Arriba(), self.labels_up), None, ("", Iconos.Abajo(), self.labels_down), None, ) tb_labels = Controles.TBrutina(self, liAccionesWork, tamIcon=16, siTexto=False) # Lista oColumnas = Columnas.ListaColumnas() oColumnas.nueva("ETIQUETA", _("Label"), 150, edicion=Delegados.LineaTextoUTF8()) oColumnas.nueva("VALOR", _("Value"), 400, edicion=Delegados.LineaTextoUTF8()) self.grid_labels = Grid.Grid(self, oColumnas, siEditable=True) n = self.grid_labels.anchoColumnas() self.grid_labels.setFixedWidth(n + 20) # Layout ly = Colocacion.V().control(tb_labels).control( self.grid_labels).margen(3) w = QtWidgets.QWidget() w.setLayout(ly) tabs.nuevaTab(w, _("Labels")) # Tab-Body ----------------------------------------------------------------------------------------------- self.em_body = Controles.EM(self, self.body, siHTML=False) tabs.nuevaTab(self.em_body, _("Body")) layout = Colocacion.V().control(tb).control(tabs) self.setLayout(layout) if self.history_list: fich = self.history_list[0] if os.path.isfile(fich): self.file = fich self.show_file() self.registrarGrid(self.grid_labels) self.recuperarVideo()
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()
def __init__(self, mAnalisis, ventana, siBlancas, siLibre, siGrabar, muestraInicial): titulo = _("Analysis") icono = Iconos.Tutor() extparam = "analysis" QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam) self.mAnalisis = mAnalisis self.muestraActual = None confTablero = VarGen.configuracion.confTablero("ANALISIS", 48) self.siLibre = siLibre self.siGrabar = siGrabar self.siBlancas = siBlancas tbWork = Controles.TBrutina(self, tamIcon=24) tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar) tbWork.new(_("New"), Iconos.NuevoMas(), self.crear) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() self.lbPuntuacion = Controles.LB(self).alinCentrado().ponTipoLetra( puntos=10, peso=75) self.lbPGN = Controles.LB(self).ponTipoLetra(peso=75).ponWrap() self.setStyleSheet( "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}" ) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clip()), ) lytb, self.tb = QTVarios.lyBotonesMovimiento( self, "", siLibre=siLibre, siGrabar=siGrabar, siGrabarTodos=siGrabar, siJugar=mAnalisis.maxRecursion > 10, liMasAcciones=liMasAcciones) lyTabl = Colocacion.H().relleno().control(self.tablero).relleno() lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control( self.lbMotor).control(self.lbTiempo) lyV = Colocacion.V() lyV.control(tbWork) lyV.otro(lyTabl) lyV.otro(lytb) lyV.otro(lyMotor) lyV.control(self.lbPGN) lyV.relleno() wm = WMuestra(self, muestraInicial) muestraInicial.wmu = wm # Layout self.ly = Colocacion.H().margen(10) self.ly.otro(lyV) self.ly.control(wm) lyM = Colocacion.H().margen(0).otro(self.ly).relleno() layout = Colocacion.V() layout.otro(lyM) layout.margen(3) layout.setSpacing(1) self.setLayout(layout) self.recuperarVideo(siTam=False) self.show() wm.cambiadoRM(muestraInicial.posElegida) self.activaMuestra(muestraInicial)
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()