def __init__(self, wowner, gestor, alm, muestraAnalisis): titulo = _("Result of analysis") icono = Iconos.Estadisticas() extparam = "estadisticasv1" QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint) self.alm = alm self.procesador = gestor.procesador self.gestor = gestor self.configuracion = gestor.configuracion self.siPawns = not gestor.procesador.configuracion.centipawns self.muestraAnalisis = muestraAnalisis self.colorWhite = QTUtil.qtColorRGB(231, 244, 254) def xcol(): oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUM", _("N."), 50, siCentrado=True) oColumnas.nueva("MOVE", _("Move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("BEST", _("Best move"), 120, siCentrado=True, edicion=Delegados.EtiquetaPGN(True, True, True)) oColumnas.nueva("DIF", _("Difference"), 80, siCentrado=True) oColumnas.nueva("PORC", "%", 80, siCentrado=True) oColumnas.nueva("ELO", _("Elo"), 80, siCentrado=True) return oColumnas self.dicLiJG = { "A": self.alm.lijg, "W": self.alm.lijgW, "B": self.alm.lijgB } gridAll = Grid.Grid(self, xcol(), siSelecFilas=True, xid="A") anchoGrid = gridAll.fixMinWidth() self.registrarGrid(gridAll) gridW = Grid.Grid(self, xcol(), siSelecFilas=True, xid="W") anchoGrid = max(gridW.fixMinWidth(), anchoGrid) self.registrarGrid(gridW) gridB = Grid.Grid(self, xcol(), siSelecFilas=True, xid="B") anchoGrid = max(gridB.fixMinWidth(), anchoGrid) self.registrarGrid(gridB) self.emIndexes = Controles.EM(self, alm.indexesHTML).soloLectura() pbSave = Controles.PB(self, _("Save to game comments"), self.saveIndexes, plano=False) pbSave.ponIcono(Iconos.Grabar()) ly0 = Colocacion.H().control(pbSave).relleno() ly = Colocacion.V().control(self.emIndexes).otro(ly0).relleno() wIdx = QtGui.QWidget() wIdx.setLayout(ly) self.tabGrid = tabGrid = Controles.Tab() tabGrid.nuevaTab(gridAll, _("All moves")) tabGrid.nuevaTab(gridW, _("White")) tabGrid.nuevaTab(gridB, _("Black")) tabGrid.nuevaTab(wIdx, _("Indexes")) tabGrid.dispatchChange(self.tabChanged) self.tabActive = 0 confTablero = VarGen.configuracion.confTablero("ANALISISGRAPH", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(alm.siBlancasAbajo) self.tablero.dispatchSize(self.tableroSizeChanged) self.capturas = WCapturas.CapturaLista(self, self.tablero) ly_tc = Colocacion.H().control(self.tablero).control(self.capturas) self.rbShowValues = Controles.RB(self, _("Values"), rutina=self.cambiadoShow).activa(True) self.rbShowElo = Controles.RB(self, _("Elo performance"), rutina=self.cambiadoShow) self.chbShowLostPoints = Controles.CHB( self, _("Show lost points"), self.getShowLostPoints()).capturaCambiado( self, self.showLostPointsChanged) ly_rb = Colocacion.H().espacio(40).control( self.rbShowValues).espacio(20).control( self.rbShowElo).espacio(30).control( self.chbShowLostPoints).relleno(1) layout = Colocacion.G() layout.controlc(tabGrid, 0, 0) layout.otroc(ly_rb, 1, 0) layout.otroc(ly_tc, 0, 1, numFilas=2) Controles.Tab().ponPosicion("W") ancho = self.tablero.width() + anchoGrid self.htotal = [ Histogram.Histogram(self, alm.hgame, gridAll, ancho, True), Histogram.Histogram(self, alm.hwhite, gridW, ancho, True), Histogram.Histogram(self, alm.hblack, gridB, ancho, True), Histogram.Histogram(self, alm.hgame, gridAll, ancho, False, alm.eloT), Histogram.Histogram(self, alm.hwhite, gridW, ancho, False, alm.eloW), Histogram.Histogram(self, alm.hblack, gridB, ancho, False, alm.eloB) ] lh = Colocacion.V() for x in range(6): lh.control(self.htotal[x]) if x: self.htotal[x].hide() layout.otroc(lh, 2, 0, 1, 3) self.setLayout(layout) self.recuperarVideo() gridAll.gotop() gridB.gotop() gridW.gotop() self.gridBotonIzquierdo(gridAll, 0, None) th = self.tablero.height() self.tabGrid.setFixedHeight(th) self.adjustSize() self.emIndexes.setFixedHeight(th - 72)
def __init__(self, w_parent, o_columns, liFiltro, dbSaveNom=None): super(WFiltrar, self).__init__() if dbSaveNom is None: dbSaveNom = Code.configuration.ficheroFiltrosPGN self.setWindowTitle(_("Filter")) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.setWindowIcon(Iconos.Filtrar()) self.liFiltro = liFiltro nFiltro = len(liFiltro) self.dbSaveNom = dbSaveNom li_fields = [(x.head, '"%s"' % x.key) for x in o_columns.li_columns if x.key != "number" and x.key != "opening"] li_fields.insert(0, ("", None)) liCondicion = [ ("", None), (_("Equal"), "="), (_("Not equal"), "<>"), (_("Greater than"), ">"), (_("Less than"), "<"), (_("Greater than or equal"), ">="), (_("Less than or equal"), "<="), (_("Like (wildcard = *)"), "LIKE"), (_("Not like (wildcard = *)"), "NOT LIKE"), ] liUnion = [("", None), (_("AND"), "AND"), (_("OR"), "OR")] f = Controles.TipoLetra(puntos=12) # 0, peso=75 ) lbCol = Controles.LB(self, _("Column")).ponFuente(f) lbPar0 = Controles.LB(self, "(").ponFuente(f) lbPar1 = Controles.LB(self, ")").ponFuente(f) lbCon = Controles.LB(self, _("Condition")).ponFuente(f) lbVal = Controles.LB(self, _("Value")).ponFuente(f) lbUni = Controles.LB(self, "+").ponFuente(f) ly = Colocacion.G() ly.controlc(lbUni, 0, 0).controlc(lbPar0, 0, 1).controlc(lbCol, 0, 2) ly.controlc(lbCon, 0, 3).controlc(lbVal, 0, 4).controlc(lbPar1, 0, 5) self.numC = 8 liC = [] union, par0, campo, condicion, valor, par1 = None, False, None, None, "", False for i in range(self.numC): if i > 0: c_union = Controles.CB(self, liUnion, union) ly.controlc(c_union, i + 1, 0) else: c_union = None c_par0 = Controles.CHB(self, "", par0).anchoFijo(20) ly.controlc(c_par0, i + 1, 1) c_campo = Controles.CB(self, li_fields, campo) ly.controlc(c_campo, i + 1, 2) c_condicion = Controles.CB(self, liCondicion, condicion) ly.controlc(c_condicion, i + 1, 3) c_valor = Controles.ED(self, valor) ly.controlc(c_valor, i + 1, 4) c_par1 = Controles.CHB(self, "", par1).anchoFijo(20) ly.controlc(c_par1, i + 1, 5) liC.append((c_union, c_par0, c_campo, c_condicion, c_valor, c_par1)) self.liC = liC # Toolbar li_acciones = [ (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Reinit"), Iconos.Reiniciar(), self.reiniciar), None, (_("Save/Restore"), Iconos.Grabar(), self.grabar), None, ] tb = QTVarios.LCTB(self, li_acciones) # Layout layout = Colocacion.V().control(tb).otro(ly).margen(3) self.setLayout(layout) liC[0][2].setFocus() if nFiltro > 0: self.lee_filtro(self.liFiltro)
def __init__(self, wparent, cpu): self.cpu = cpu self.posicion = cpu.partida.iniPosicion configuracion = cpu.configuracion self.wparent = wparent QtGui.QWidget.__init__(self, wparent) liAcciones = ( (_("Save"), Iconos.GrabarComo(), self.save), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Start position"), Iconos.Inicio(), self.inicial), None, (_("Clear board"), Iconos.Borrar(), self.limpiaTablero), (_("Paste FEN position"), Iconos.Pegar16(), self.pegar), (_("Copy FEN position"), Iconos.Copiar(), self.copiar), (_("Active voice"), Iconos.S_Microfono(), self.wparent.voice_active), (_("Deactive voice"), Iconos.X_Microfono(), self.wparent.voice_deactive), ) self.tb = Controles.TBrutina(self, liAcciones, siTexto=False, tamIcon=20) confTablero = configuracion.confTablero("VOYAGERPOS", 24) self.tablero = Tablero.PosTablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueve) self.tablero.mensBorrar = self.borraCasilla self.tablero.mensCrear = self.creaCasilla self.tablero.mensRepetir = self.repitePieza self.tablero.ponDispatchDrop(self.dispatchDrop) self.tablero.baseCasillasSC.setAcceptDrops(True) self.rbWhite = Controles.RB(self, _("White")) self.rbBlack = Controles.RB(self, _("Black")) self.cbWoo = Controles.CHB(self, _("White") + " O-O", True) self.cbWooo = Controles.CHB(self, _("White") + " O-O-O", True) self.cbBoo = Controles.CHB(self, _("Black") + " O-O", True) self.cbBooo = Controles.CHB(self, _("Black") + " O-O-O", True) lbEnPassant = Controles.LB(self, _("En passant") + ":") self.edEnPassant = Controles.ED(self).controlrx( "(-|[a-h][36])").anchoFijo(30) self.edMovesPawn, lbMovesPawn = QTUtil2.spinBoxLB( self, 0, 0, 999, etiqueta=_("Halfmove clock"), maxTam=50) self.edFullMoves, lbFullMoves = QTUtil2.spinBoxLB( self, 1, 1, 999, etiqueta=_("Fullmove number"), maxTam=50) # COLOCACION ------------------------------------------------------------------------------------------- hbox = Colocacion.H().relleno().control( self.rbWhite).espacio(15).control(self.rbBlack).relleno() gbColor = Controles.GB(self, _("Next move"), hbox) ly = Colocacion.G().control(self.cbWoo, 0, 0).control(self.cbBoo, 0, 1) ly.control(self.cbWooo, 1, 0).control(self.cbBooo, 1, 1) gbEnroques = Controles.GB(self, _("Castling moves possible"), ly) ly = Colocacion.G() ly.controld(lbMovesPawn, 0, 0, 1, 3).control(self.edMovesPawn, 0, 3) ly.controld(lbEnPassant, 1, 0).control(self.edEnPassant, 1, 1) ly.controld(lbFullMoves, 1, 2).control(self.edFullMoves, 1, 3) gbOtros = Controles.GB(self, "", ly) ly = Colocacion.V().control(self.tb).control(self.tablero) ly.control(gbColor).control(gbEnroques).control(gbOtros) ly.margen(1) self.setLayout(ly) self.ultimaPieza = "P" self.piezas = self.tablero.piezas self.resetPosicion() self.ponCursor() self.queueVoice = [] self.bufferVoice = ""
def __init__(self, wParent, torneo): titulo = _("Competition") icono = Iconos.Torneos() extparam = "untorneo_v1" QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam) self.configuracion = VarGen.configuracion # Datos self.torneo = torneo self.liEnActual = [] self.xjugar = None self.liResult = None # Toolbar liAcciones = ((_("Save") + "+" + _("Quit"), Iconos.MainMenu(), self.terminar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Play"), Iconos.Empezar(), self.gmJugar), None, ) tb = Controles.TBrutina(self, liAcciones) # Tabs self.tab = tab = Controles.Tab() # Tab-configuracion -------------------------------------------------- w = QtGui.QWidget() # # Nombre lbNombre = Controles.LB(self, _("Name") + ": ") self.edNombre = Controles.ED(w, torneo.nombre()) # # Resign lbResign = Controles.LB(self, _("Minimum points to assign winner") + ": ") self.sbResign = Controles.SB(self, torneo.resign(), 60, 100000) # Draw-plys lbDrawMinPly = Controles.LB(self, _("Minimum moves to assign draw") + ": ") self.sbDrawMinPly = Controles.SB(self, torneo.drawMinPly(), 20, 1000) # Draw-puntos lbDrawRange = Controles.LB(self, _("Maximum points to assign draw") + ": ") self.sbDrawRange = Controles.SB(self, torneo.drawRange(), 0, 50) lbBook = Controles.LB(self, _("Opening book") + ": ") fvar = self.configuracion.ficheroBooks self.listaLibros = Books.ListaLibros() self.listaLibros.recuperaVar(fvar) # Comprobamos que todos esten accesibles self.listaLibros.comprueba() li = [(x.nombre, x.path) for x in self.listaLibros.lista] li.insert(0, ("* " + _("None"), "-")) self.cbBooks = Controles.CB(self, li, torneo.book()) btNuevoBook = Controles.PB(self, "", self.nuevoBook, plano=False).ponIcono(Iconos.Nuevo(), tamIcon=16) lyBook = Colocacion.H().control(self.cbBooks).control(btNuevoBook).relleno() lbBookDepth = Controles.LB(self, _("Max depth of book (0=Maximum)") + ": ") self.sbBookDepth = Controles.SB(self, torneo.bookDepth(), 0, 200) # Posicion inicial lbFEN = Controles.LB(self, _("Initial position") + ": ") self.fen = torneo.fen() self.btPosicion = Controles.PB(self, " " * 5 + _("Change") + " " * 5, self.posicionEditar).ponPlano(False) self.btPosicionQuitar = Controles.PB(self, "", self.posicionQuitar).ponIcono(Iconos.Motor_No()) self.btPosicionPegar = Controles.PB(self, "", self.posicionPegar).ponIcono(Iconos.Pegar16()).ponToolTip( _("Paste FEN position")) lyFEN = Colocacion.H().control(self.btPosicionQuitar).control(self.btPosicion).control( self.btPosicionPegar).relleno() # Norman Pollock lbNorman = Controles.LB(self, '%s(<a href="https://komodochess.com/pub/40H-pgn-utilities">?</a>): ' % _("Initial position from Norman Pollock openings database")) self.chbNorman = Controles.CHB(self, " ", self.torneo.norman()) # Layout layout = Colocacion.G() layout.controld(lbNombre, 0, 0).control(self.edNombre, 0, 1) layout.controld(lbResign, 1, 0).control(self.sbResign, 1, 1) layout.controld(lbDrawMinPly, 2, 0).control(self.sbDrawMinPly, 2, 1) layout.controld(lbDrawRange, 3, 0).control(self.sbDrawRange, 3, 1) layout.controld(lbBook, 4, 0).otro(lyBook, 4, 1) layout.controld(lbBookDepth, 5, 0).control(self.sbBookDepth, 5, 1) layout.controld(lbFEN, 6, 0).otro(lyFEN, 6, 1) layout.controld(lbNorman, 7, 0).control(self.chbNorman, 7, 1) layoutV = Colocacion.V().relleno().otro(layout).relleno() layoutH = Colocacion.H().relleno().otro(layoutV).relleno() # Creamos w.setLayout(layoutH) tab.nuevaTab(w, _("Configuration")) # Tab-engines -------------------------------------------------- self.splitterEngines = QtGui.QSplitter(self) self.registrarSplitter(self.splitterEngines, "engines") # TB liAcciones = [(_("New"), Iconos.TutorialesCrear(), self.enNuevo), None, (_("Modify"), Iconos.Modificar(), self.enModificar), None, (_("Remove"), Iconos.Borrar(), self.enBorrar), None, (_("Copy"), Iconos.Copiar(), self.enCopiar), None, (_("Import"), Iconos.MasDoc(), self.enImportar), None, ] tbEnA = Controles.TBrutina(self, liAcciones, tamIcon=24) # Grid engine oColumnas = Columnas.ListaColumnas() oColumnas.nueva("ALIAS", _("Alias"), 209) self.gridEnginesAlias = Grid.Grid(self, oColumnas, siSelecFilas=True, xid="EA", siSeleccionMultiple=True) self.registrarGrid(self.gridEnginesAlias) w = QtGui.QWidget() ly = Colocacion.V().control(self.gridEnginesAlias).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("CAMPO", _("Label"), 200, siDerecha=True) oColumnas.nueva("VALOR", _("Value"), 286) self.gridEnginesValores = Grid.Grid(self, oColumnas, siSelecFilas=False, xid="EV") self.registrarGrid(self.gridEnginesValores) w = QtGui.QWidget() ly = Colocacion.V().control(self.gridEnginesValores).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) self.splitterEngines.setSizes([250, 520]) # por defecto w = QtGui.QWidget() ly = Colocacion.V().control(tbEnA).control(self.splitterEngines) w.setLayout(ly) tab.nuevaTab(w, _("Engines")) # Creamos # Tab-games -------------------------------------------------- w = QtGui.QWidget() # TB liAcciones = [(_("New"), Iconos.TutorialesCrear(), self.gmCrear), None, (_("Remove"), Iconos.Borrar(), self.gmBorrar), None, (_("Show"), Iconos.PGN(), self.gmMostrar), None, (_("Save") + "(%s)" % _("PGN"), Iconos.GrabarComo(), self.gmGuardar), None, ] tbEnG = Controles.TBrutina(self, liAcciones, tamIcon=24) # Grid engine oColumnas = Columnas.ListaColumnas() oColumnas.nueva("WHITE", _("White"), 190, siCentrado=True) oColumnas.nueva("BLACK", _("Black"), 190, siCentrado=True) oColumnas.nueva("RESULT", _("Result"), 190, siCentrado=True) oColumnas.nueva("TIEMPO", _("Time"), 170, siCentrado=True) self.gridGames = Grid.Grid(self, oColumnas, siSelecFilas=True, xid="G", siSeleccionMultiple=True) self.registrarGrid(self.gridGames) # Layout layout = Colocacion.V().control(tbEnG).control(self.gridGames) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Games")) # Tab-resultado -------------------------------------------------- w = QtGui.QWidget() # Grid oColumnas = Columnas.ListaColumnas() oColumnas.nueva("NUMERO", _("N."), 35, siCentrado=True) oColumnas.nueva("MOTOR", _("Engine"), 190, siCentrado=True) oColumnas.nueva("GANADOS", _("Wins"), 120, siCentrado=True) oColumnas.nueva("TABLAS", _("Draw"), 120, siCentrado=True) oColumnas.nueva("PERDIDOS", _("Lost"), 120, siCentrado=True) oColumnas.nueva("PUNTOS", _("Points"), 120, siCentrado=True) self.gridResult = Grid.Grid(self, oColumnas, siSelecFilas=True, xid="R") self.registrarGrid(self.gridResult) # Layout layout = Colocacion.V().control(self.gridResult) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Result")) # Layout layout = Colocacion.V().control(tb).control(tab).margen(8) self.setLayout(layout) self.recuperarVideo(siTam=True, anchoDefecto=800, altoDefecto=430) self.gridEnginesAlias.gotop() self.edNombre.setFocus() self.muestraPosicion()
def __init__(self, wparent, is_game, game): self.game = game self.position = game.first_position self.configuration = configuration = Code.configuration self.is_game = is_game self.wparent = wparent QtWidgets.QWidget.__init__(self, wparent) li_acciones = ( (_("Save"), Iconos.GrabarComo(), self.save), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Start position"), Iconos.Inicio(), self.inicial), None, (_("Clear board"), Iconos.Borrar(), self.limpiaBoard), (_("Paste FEN position"), Iconos.Pegar16(), self.pegar), (_("Copy FEN position"), Iconos.Copiar(), self.copiar), (_("Scanner"), Iconos.Scanner(), self.scanner), ) self.tb = Controles.TBrutina(self, li_acciones, with_text=False, icon_size=20) config_board = configuration.config_board("VOYAGERPOS", 24) self.board = Board.PosBoard(self, config_board) self.board.crea() self.board.set_dispatcher(self.mueve) self.board.mensBorrar = self.borraCasilla self.board.mensCrear = self.creaCasilla self.board.mensRepetir = self.repitePieza self.board.ponDispatchDrop(self.dispatchDrop) self.board.baseCasillasSC.setAcceptDrops(True) dragDropWB = QTVarios.ListaPiezas(self, "P,N,B,R,Q,K", self.board, margen=0) dragDropBA = QTVarios.ListaPiezas(self, "k,q,r,b,n,p", self.board, margen=0) self.rbWhite = Controles.RB(self, _("White"), rutina=self.cambiaColor) self.rbBlack = Controles.RB(self, _("Black"), rutina=self.cambiaColor) self.cbWoo = Controles.CHB(self, _("White") + " O-O", True) self.cbWooo = Controles.CHB(self, _("White") + " O-O-O", True) self.cbBoo = Controles.CHB(self, _("Black") + " O-O", True) self.cbBooo = Controles.CHB(self, _("Black") + " O-O-O", True) lbEnPassant = Controles.LB(self, _("En passant") + ":") self.edEnPassant = Controles.ED(self).controlrx( "(-|[a-h][36])").anchoFijo(30) self.edMovesPawn, lbMovesPawn = QTUtil2.spinBoxLB( self, 0, 0, 999, etiqueta=_("Halfmove clock"), maxTam=50) self.edFullMoves, lbFullMoves = QTUtil2.spinBoxLB( self, 1, 1, 999, etiqueta=_("Fullmove number"), maxTam=50) self.vars_scanner = Scanner.Scanner_vars( self.configuration.carpetaScanners) self.lb_scanner = Controles.LB(self) pb_scanner_deduce = Controles.PB(self, _("Deduce"), self.scanner_deduce, plano=False) self.chb_scanner_flip = Controles.CHB(self, _("Flip the board"), False).capture_changes( self, self.scanner_flip) self.pb_scanner_learn = Controles.PB(self, _("Learn"), self.scanner_learn, plano=False) self.pb_scanner_learn_quit = Controles.PB( self, "", self.scanner_learn_quit).ponIcono(Iconos.Menos(), icon_size=24) self.pb_scanner_learn_quit.ponToolTip( _("Remove last learned")).anchoFijo(24) self.sb_scanner_tolerance, lb_scanner_tolerance = QTUtil2.spinBoxLB( self, self.vars_scanner.tolerance, 3, 20, etiqueta=_("Deduction tolerance"), maxTam=50) self.sb_scanner_tolerance_learns, lb_scanner_tolerance_learns = QTUtil2.spinBoxLB( self, self.vars_scanner.tolerance_learns, 1, 6, etiqueta=_("Learning tolerance"), maxTam=50) self.chb_rem_ghost_deductions = Controles.CHB( self, _("Remove ghost deductions"), self.vars_scanner.rem_ghost) self.cb_scanner_select, lb_scanner_select = QTUtil2.comboBoxLB( self, [], None, _("OPR")) self.cb_scanner_select.capture_changes(self.scanner_change) pb_scanner_more = Controles.PB(self, "", self.scanner_more).ponIcono( Iconos.Mas()) self.chb_scanner_ask = Controles.CHB(self, _("Ask before new capture"), self.vars_scanner.ask) self.li_scan_pch = [] self.is_scan_init = False # LAYOUT ------------------------------------------------------------------------------------------- hbox = Colocacion.H().control(self.rbWhite).espacio(15).control( self.rbBlack) gbColor = Controles.GB(self, _("Side to play"), hbox) ly = Colocacion.G().control(self.cbWoo, 0, 0).control(self.cbBoo, 0, 1) ly.control(self.cbWooo, 1, 0).control(self.cbBooo, 1, 1) gbEnroques = Controles.GB(self, _("Castling moves possible"), ly) ly = Colocacion.G() ly.controld(lbMovesPawn, 0, 0, 1, 3).control(self.edMovesPawn, 0, 3) ly.controld(lbEnPassant, 1, 0).control(self.edEnPassant, 1, 1) ly.controld(lbFullMoves, 1, 2).control(self.edFullMoves, 1, 3) gbOtros = Controles.GB(self, "", ly) lyT = Colocacion.H().relleno().control(lb_scanner_tolerance).espacio( 5).control(self.sb_scanner_tolerance).relleno() lyTL = Colocacion.H().relleno().control( lb_scanner_tolerance_learns).espacio(5).control( self.sb_scanner_tolerance_learns).relleno() lyL = Colocacion.H().control(self.pb_scanner_learn).control( self.pb_scanner_learn_quit) lyS = Colocacion.H().control(lb_scanner_select).control( self.cb_scanner_select).control(pb_scanner_more) ly = Colocacion.V().control(self.chb_scanner_flip).control( pb_scanner_deduce).otro(lyL).otro(lyT).otro(lyTL) ly.control(self.chb_rem_ghost_deductions).otro(lyS) ly.control(self.chb_scanner_ask) self.gb_scanner = Controles.GB(self, _("Scanner"), ly) lyG = Colocacion.G() lyG.controlc(dragDropBA, 0, 0) lyG.control(self.board, 1, 0).control(self.lb_scanner, 1, 1) lyG.controlc(dragDropWB, 2, 0).controlc(self.gb_scanner, 2, 1, numFilas=4) lyG.controlc(gbColor, 3, 0) lyG.controlc(gbEnroques, 4, 0) lyG.controlc(gbOtros, 5, 0) layout = Colocacion.V() layout.controlc(self.tb) layout.otro(lyG) layout.margen(1) self.setLayout(layout) self.ultimaPieza = "P" self.piezas = self.board.piezas self.resetPosicion() self.ponCursor() self.lb_scanner.hide() self.pb_scanner_learn_quit.hide() self.gb_scanner.hide()
def __init__(self, procesador): wParent = procesador.pantalla self.configuracion = procesador.configuracion self.procesador = procesador self.siCambios = False QtGui.QDialog.__init__(self, wParent) self.setWindowTitle(_("Training with a book")) self.setWindowIcon(Iconos.Libros()) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint) self.setMinimumWidth(450) flb = Controles.TipoLetra(puntos=10) # Variables antiguas dic = self.recuperaDIC() if dic is None: dic = {} dic_siBlancas = dic.get("SIBLANCAS", True) dic_nomLibro = dic.get("NOMLIBRO", "") dic_RR = dic.get("RR", "au") dic_RJ = dic.get("RJ", False) # Toolbar liAcciones = [ (_("Accept"), Iconos.Aceptar(), "aceptar"), None, (_("Cancel"), Iconos.Cancelar(), "cancelar"), None, ] tb = Controles.TB(self, liAcciones) # Color self.rbBlancas = QtGui.QRadioButton(_("White")) self.rbBlancas.setChecked(dic_siBlancas) self.rbNegras = QtGui.QRadioButton(_("Black")) self.rbNegras.setChecked(not dic_siBlancas) hbox = Colocacion.H().relleno().control( self.rbBlancas).espacio(10).control(self.rbNegras).relleno() gbColor = Controles.GB(self, _("Play with"), hbox).ponFuente(flb) # Libros fvar = self.configuracion.ficheroBooks self.listaLibros = Books.ListaLibros() self.listaLibros.recuperaVar(fvar) # # Comprobamos que todos esten accesibles self.listaLibros.comprueba() li = [(x.nombre, x) for x in self.listaLibros.lista] libInicial = None if dic_nomLibro: for nom, libro in li: if nom == dic_nomLibro: libInicial = libro break if libInicial is None: libInicial = li[0][1] if li else None self.cb = QTUtil2.comboBoxLB(self, li, libInicial) btNuevo = Controles.PB(self, "", self.nuevo, plano=False).ponIcono(Iconos.Nuevo(), tamIcon=16) btBorrar = Controles.PB(self, "", self.borrar, plano=False).ponIcono(Iconos.Borrar(), tamIcon=16) hbox = Colocacion.H().relleno().control( self.cb).control(btNuevo).control(btBorrar).relleno() gbLibro = Controles.GB(self, _("Book"), hbox).ponFuente(flb) # Respuesta rival li = ( (_("Selected by the player"), "su"), (_("Uniform random"), "au"), (_("Proportional random"), "ap"), (_("Always the highest percentage"), "mp"), ) self.cbRR = QTUtil2.comboBoxLB(self, li, dic_RR) hbox = Colocacion.H().relleno().control(self.cbRR).relleno() gbRR = Controles.GB(self, _("Opponent's move"), hbox).ponFuente(flb) # Respuesta jugador self.chRJ = Controles.CHB(self, _("Always the highest percentage"), dic_RJ) hbox = Colocacion.H().relleno().control(self.chRJ).relleno() gbRJ = Controles.GB(self, _("Player's move"), hbox).ponFuente(flb) vlayout = Colocacion.V() vlayout.control(gbColor).espacio(5) vlayout.control(gbLibro).espacio(5) vlayout.control(gbRR).espacio(5) vlayout.control(gbRJ) vlayout.margen(20) layout = Colocacion.V().control(tb).otro(vlayout).margen(3) self.setLayout(layout)
def __init__(self, owner, pgn, configuracion): titulo = _("Save to PGN") icono = Iconos.PGN() extparam = "savepgn" QTVarios.WDialogo.__init__(self, owner, titulo, icono, 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.iteritems()) ] 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 = QtGui.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 = QtGui.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, procesador): self.configuration = procesador.configuration self.procesador = procesador self.db_histo = UtilSQL.DictSQL(self.configuration.ficheroGMhisto) self.opening_block = None self.li_preferred_openings = [] w_parent = procesador.main_window titulo = _("Play like a Grandmaster") icono = Iconos.GranMaestro() extparam = "gm" QTVarios.WDialogo.__init__(self, w_parent, titulo, icono, extparam) flb = Controles.TipoLetra( puntos=procesador.configuration.x_menu_points) # Toolbar li_acciones = [ (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("One game"), Iconos.Uno(), self.unJuego), None, (_("Import"), Iconos.ImportarGM(), self.importar), ] tb = Controles.TBrutina(self, li_acciones) # Grandes maestros self.li_gm = GM.lista_gm() gb_style = Common.gb_style() li = [(x[0], x[1]) for x in self.li_gm] li.insert(0, ("-", None)) self.cb_gm = QTUtil2.comboBoxLB( self, li, li[0][1] if len(self.li_gm) == 0 else li[1][1]) self.cb_gm.capture_changes(self.check_gm) hbox = Colocacion.H().relleno().control(self.cb_gm).relleno() gbGM = Controles.GB(self, _("Choose a Grandmaster"), hbox).ponFuente(flb) gbGM.setStyleSheet(gb_style) # Personales self.li_personal = GM.lista_gm_personal( self.procesador.configuration.personal_training_folder) if self.li_personal: li = [(x[0], x[1]) for x in self.li_personal] li.insert(0, ("-", None)) self.cbPersonal = QTUtil2.comboBoxLB(self, li, li[0][1]) self.cbPersonal.capture_changes(self.check_personal) btBorrar = Controles.PB(self, "", self.borrarPersonal).ponIcono( Iconos.Borrar(), icon_size=24) hbox = Colocacion.H().relleno().control( self.cbPersonal).control(btBorrar).relleno() gb_personal = Controles.GB(self, _("Personal games"), hbox).ponFuente(flb) gb_personal.setStyleSheet(gb_style) # Color self.rb_white = Controles.RB(self, _("White"), rutina=self.check_color) self.rb_white.setFont(flb) self.rb_white.activa(True) self.rb_black = Controles.RB(self, _("Black"), rutina=self.check_color) self.rb_black.setFont(flb) self.rb_black.activa(False) # Contrario self.ch_select_rival_move = Controles.CHB( self, _("Choose the opponent's move, when there are multiple possible answers" ), False) # Juez liDepths = [("--", 0)] for x in range(1, 31): liDepths.append((str(x), x)) self.liMotores = self.configuration.comboMotoresMultiPV10() self.cbJmotor, self.lbJmotor = QTUtil2.comboBoxLB( self, self.liMotores, self.configuration.tutor_inicial, _("Engine")) self.edJtiempo = Controles.ED(self).tipoFloat().ponFloat( 1.0).anchoFijo(50) self.lbJtiempo = Controles.LB2P(self, _("Time in seconds")) self.cbJdepth = Controles.CB(self, liDepths, 0).capture_changes(self.change_depth) self.lbJdepth = Controles.LB2P(self, _("Depth")) self.lbJshow = Controles.LB2P(self, _("Show rating")) self.chbEvals = Controles.CHB(self, _("Show all evaluations"), False) li_options = [(_("All moves"), None), (_("Moves are different"), True), (_("Never"), False)] self.cbJshow = Controles.CB(self, li_options, True) self.lbJmultiPV = Controles.LB2P( self, _("Number of moves evaluated by engine(MultiPV)")) li = [(_("Default"), "PD"), (_("Maximum"), "MX")] for x in (1, 3, 5, 10, 15, 20, 30, 40, 50, 75, 100, 150, 200): li.append((str(x), str(x))) self.cbJmultiPV = Controles.CB(self, li, "PD") self.li_adjudicator_controls = ( self.cbJmotor, self.lbJmotor, self.edJtiempo, self.lbJtiempo, self.lbJdepth, self.cbJdepth, self.lbJshow, self.cbJshow, self.lbJmultiPV, self.cbJmultiPV, self.chbEvals, ) for control in self.li_adjudicator_controls: control.setFont(flb) # Inicial self.edJugInicial, lbInicial = QTUtil2.spinBoxLB( self, 1, 1, 99, etiqueta=_("Initial move"), maxTam=40) # Libros fvar = self.configuration.file_books self.list_books = Books.ListBooks() self.list_books.restore_pickle(fvar) # # Comprobamos que todos esten accesibles self.list_books.check() li = [(x.name, x) for x in self.list_books.lista] li.insert(0, ("--", None)) self.cbBooks, lbBooks = QTUtil2.comboBoxLB( self, li, None, _("Bypass moves in the book")) # Openings self.btOpening = Controles.PB(self, " " * 5 + _("Undetermined") + " " * 5, self.aperturasEditar).ponPlano(False) self.btOpeningsFavoritas = Controles.PB( self, "", self.preferred_openings).ponIcono(Iconos.Favoritos()) self.btOpeningsQuitar = Controles.PB( self, "", self.aperturasQuitar).ponIcono(Iconos.Motor_No()) hbox = Colocacion.H().control(self.btOpeningsQuitar).control( self.btOpening).control(self.btOpeningsFavoritas).relleno() gbOpening = Controles.GB(self, _("Opening"), hbox) # gbBasic # # Color hbox = Colocacion.H().relleno().control( self.rb_white).espacio(10).control(self.rb_black).relleno() gbColor = Controles.GB(self, _("Play with"), hbox).ponFuente(flb) gbColor.setStyleSheet(gb_style) # Tiempo ly1 = Colocacion.H().control(self.lbJmotor).control( self.cbJmotor).relleno().control(self.lbJshow).control( self.cbJshow) ly2 = Colocacion.H().control(self.lbJtiempo).control(self.edJtiempo) ly2.control(self.lbJdepth).control(self.cbJdepth).relleno().control( self.chbEvals) ly3 = Colocacion.H().control(self.lbJmultiPV).control( self.cbJmultiPV).relleno() ly = Colocacion.V().otro(ly1).otro(ly2).otro(ly3) self.gbJ = Controles.GB(self, _("Adjudicator"), ly).to_connect(self.change_adjudicator) self.gbJ.setStyleSheet(gb_style) # Opciones vlayout = Colocacion.V().control(gbColor) vlayout.espacio(5).control(self.gbJ) vlayout.margen(20) gbBasic = Controles.GB(self, "", vlayout) gbBasic.setFlat(True) # Opciones avanzadas lyInicial = Colocacion.H().control(lbInicial).control( self.edJugInicial).relleno().control(lbBooks).control( self.cbBooks).relleno() vlayout = Colocacion.V().otro(lyInicial).control(gbOpening) vlayout.espacio(5).control( self.ch_select_rival_move).margen(20).relleno() gbAdvanced = Controles.GB(self, "", vlayout) gbAdvanced.setFlat(True) # Historico self.liHisto = [] o_columns = Columnas.ListaColumnas() o_columns.nueva("FECHA", _("Date"), 100, centered=True) o_columns.nueva("PACIERTOS", _("Hints"), 90, centered=True) o_columns.nueva("PUNTOS", _("Points accumulated"), 140, centered=True) o_columns.nueva("ENGINE", _("Adjudicator"), 100, centered=True) o_columns.nueva("RESUMEN", _("Game played"), 280) self.grid = grid = Grid.Grid(self, o_columns, siSelecFilas=True, background=None) self.grid.coloresAlternados() self.register_grid(grid) # Tabs self.tab = Controles.Tab().set_position("S") self.tab.nuevaTab(gbBasic, _("Basic")) self.tab.nuevaTab(gbAdvanced, _("Advanced")) self.tab.nuevaTab(self.grid, _("Track record")) self.tab.setFont(flb) # Cabecera lyCab = Colocacion.H().control(gbGM) if self.li_personal: lyCab.control(gb_personal) layout = Colocacion.V().control(tb).otro(lyCab).control( self.tab).margen(6) self.setLayout(layout) self.restore_dic() self.change_adjudicator() self.check_gm() self.check_personal() self.check_histo() self.aperturaMuestra() self.btOpeningsFavoritas.hide() self.restore_video(anchoDefecto=750)
def __init__(self, procesador, titulo): QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, Iconos.Libre(), "entMaquina") self.configuracion = procesador.configuracion self.procesador = procesador self.personalidades = Personalidades.Personalidades( self, self.configuracion) self.motores = Motores.Motores(self.configuracion) # Toolbar liAcciones = [ (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.cancelar), None, (_("Configurations"), Iconos.Configurar(), self.configuraciones), None, ] tb = Controles.TBrutina(self, liAcciones) # Tab tab = Controles.Tab() def nuevoG(): lyG = Colocacion.G() lyG.filaActual = 0 return lyG gbStyle = """ QGroupBox { font: bold 16px; background-color: #F2F2EC;/*qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #E0E0E0, stop: 1 #FFFFFF);*/ border: 1px solid gray; border-radius: 3px; margin-top: 5ex; /* leave space at the top for the title */ } QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top center; /* position at the top center */ padding: 0 3px; } """ def _label(lyG, txt, ly, rutinaCHB=None, siCheck=False): gb = Controles.GB(self, txt, ly) if rutinaCHB: gb.conectar(rutinaCHB) elif siCheck: gb.setCheckable(True) gb.setChecked(False) gb.setStyleSheet(gbStyle) lyG.controlc(gb, lyG.filaActual, 0) lyG.filaActual += 1 return gb # TAB General lyG = nuevoG() # # Color self.rbBlancas = Controles.RB(self, "").activa() self.rbBlancas.setIcon( QTVarios.fsvg2ico("Pieces/Chessicons/wp.svg", 64)) self.rbNegras = Controles.RB(self, "") self.rbNegras.setIcon(QTVarios.fsvg2ico("Pieces/Chessicons/bp.svg", 64)) self.rbRandom = Controles.RB(self, _("Random")) hbox = Colocacion.H().relleno().control( self.rbBlancas).espacio(30).control( self.rbNegras).espacio(30).control(self.rbRandom).relleno() _label(lyG, _("Select color"), hbox) # # Motores liDepths = [("--", 0)] for x in range(1, 31): liDepths.append((str(x), x)) # ## Rival self.rival = self.configuracion.rivalInicial self.rivalTipo = Motores.INTERNO self.btRival = Controles.PB(self, "", self.cambiaRival, plano=False) self.edRtiempo = Controles.ED(self).tipoFloat().anchoMaximo(50) self.cbRdepth = Controles.CB(self, liDepths, 0).capturaCambiado(self.cambiadoDepth) lbTiempoSegundosR = Controles.LB2P(self, _("Time")) lbNivel = Controles.LB2P(self, _("Depth")) # ## Ajustar rival liAjustes = self.personalidades.listaAjustes(True) self.cbAjustarRival = Controles.CB(self, liAjustes, kAjustarMejor).capturaCambiado( self.ajustesCambiado) lbAjustarRival = Controles.LB2P(self, _("Set strength")) btAjustarRival = Controles.PB(self, _("Personality"), self.cambiaPersonalidades, plano=True).ponIcono(Iconos.Mas(), tamIcon=16) # ## Resign lbResign = Controles.LB2P(self, _("Resign/draw by engine")) liResign = ((_("Very early"), -100), (_("Early"), -300), (_("Average"), -500), (_("Late"), -800), (_("Very late"), -1000), (_("Never"), -9999999)) self.cbResign = Controles.CB(self, liResign, -800) lyH1 = Colocacion.H().control(self.btRival).espacio(20) lyH1.control(lbTiempoSegundosR).control(self.edRtiempo) lyH1.control(lbNivel).control(self.cbRdepth).relleno() lyH2 = Colocacion.H().control(lbAjustarRival).control( self.cbAjustarRival).control(btAjustarRival).relleno() lyH3 = Colocacion.H().control(lbResign).control( self.cbResign).relleno() ly = Colocacion.V().otro(lyH1).otro(lyH2).otro(lyH3) _label(lyG, _("Opponent"), ly) gb = Controles.GB(self, "", lyG) tab.nuevaTab(gb, _("Basic configuration")) # TAB Ayudas lyG = nuevoG() self.cbAtras = Controles.CHB(self, _("Takeback"), True) self.chbSummary = Controles.CHB( self, _("Save a summary when the game is finished in the main comment"), False) # # Tutor lbAyudas = Controles.LB2P(self, _("Available hints")) liAyudas = [(_("Maximum"), 99)] for i in range(1, 21): liAyudas.append((str(i), i)) for i in range(25, 51, 5): liAyudas.append((str(i), i)) self.cbAyudas = Controles.CB(self, liAyudas, 99) self.chbChance = Controles.CHB(self, _("Second chance"), True) btTutorChange = Controles.PB(self, _("Tutor change"), self.tutorChange, plano=False).ponIcono(Iconos.Tutor(), tamIcon=16) liThinks = [(_("Nothing"), -1), (_("Score"), 0)] for i in range(1, 5): liThinks.append( ("%d %s" % (i, _("ply") if i == 1 else _("plies")), i)) liThinks.append((_("All"), 9999)) lbThoughtTt = Controles.LB(self, _("It is showed") + ":") self.cbThoughtTt = Controles.CB(self, liThinks, -1) self.chbContinueTt = Controles.CHB( self, _("The tutor thinks while you think"), True) lbBoxHeight = Controles.LB2P(self, _("Box height")) self.sbBoxHeight = Controles.SB(self, 7, 0, 999).tamMaximo(50) lbArrows = Controles.LB2P(self, _("Arrows with the best moves")) self.sbArrowsTt = Controles.SB(self, 3, 0, 999).tamMaximo(50) lyT1 = Colocacion.H().control(lbAyudas).control( self.cbAyudas).relleno() lyT1.control(self.chbChance).relleno().control(btTutorChange) lyT2 = Colocacion.H().control(self.chbContinueTt).relleno() lyT2.control(lbBoxHeight).control(self.sbBoxHeight).relleno() lyT3 = Colocacion.H().control(lbThoughtTt).control( self.cbThoughtTt).relleno() lyT3.control(lbArrows).control(self.sbArrowsTt) ly = Colocacion.V().otro(lyT1).espacio(16).otro(lyT2).otro( lyT3).relleno() self.gbTutor = Controles.GB(self, _("Tutor"), ly) self.gbTutor.setCheckable(True) self.gbTutor.setStyleSheet(gbStyle) lb = Controles.LB(self, _("It is showed") + ":") self.cbThoughtOp = Controles.CB(self, liThinks, -1) lbArrows = Controles.LB2P(self, _("Arrows to show")) self.sbArrows = Controles.SB(self, 7, 0, 999).tamMaximo(50) ly = Colocacion.H().control(lb).control(self.cbThoughtOp).relleno() ly.control(lbArrows).control(self.sbArrows).relleno() gbThoughtOp = Controles.GB(self, _("Thought of the opponent"), ly) gbThoughtOp.setStyleSheet(gbStyle) ly = Colocacion.V().espacio(16).control( self.gbTutor).espacio(16).control(gbThoughtOp) ly.espacio(16).control(self.cbAtras).control(self.chbSummary) gb = Controles.GB(self, "", ly) tab.nuevaTab(gb, _("Help configuration")) # TAB Tiempo lyG = nuevoG() self.edMinutos, self.lbMinutos = QTUtil2.spinBoxLB( self, 15, 0, 999, maxTam=50, etiqueta=_("Total minutes")) self.edSegundos, self.lbSegundos = QTUtil2.spinBoxLB( self, 6, -999, 999, maxTam=54, etiqueta=_("Seconds added per move")) self.edMinExtra, self.lbMinExtra = QTUtil2.spinBoxLB( self, 0, -999, 999, maxTam=70, etiqueta=_("Extra minutes for the player")) self.edZeitnot, self.lbZeitnot = QTUtil2.spinBoxLB( self, 0, -999, 999, maxTam=54, etiqueta=_("Zeitnot: alarm sounds when remaining seconds")) lyH1 = Colocacion.H() lyH1.control(self.lbMinutos).control(self.edMinutos).espacio(30) lyH1.control(self.lbSegundos).control(self.edSegundos).relleno() lyH2 = Colocacion.H() lyH2.control(self.lbMinExtra).control(self.edMinExtra).relleno() lyH3 = Colocacion.H() lyH3.control(self.lbZeitnot).control(self.edZeitnot).relleno() ly = Colocacion.V().otro(lyH1).otro(lyH2).otro(lyH3) self.chbTiempo = _label(lyG, _("Time"), ly, siCheck=True) gb = Controles.GB(self, "", lyG) tab.nuevaTab(gb, _("Time")) # TAB Initial moves lyG = nuevoG() # Posicion self.btPosicion = Controles.PB(self, " " * 5 + _("Change") + " " * 5, self.posicionEditar).ponPlano(False) self.fen = "" self.btPosicionQuitar = Controles.PB( self, "", self.posicionQuitar).ponIcono(Iconos.Motor_No()) self.btPosicionPegar = Controles.PB(self, "", self.posicionPegar).ponIcono( Iconos.Pegar16()).ponToolTip( _("Paste FEN position")) hbox = Colocacion.H().relleno().control(self.btPosicionQuitar).control( self.btPosicion).control(self.btPosicionPegar).relleno() _label(lyG, _("Start position"), hbox) # Aperturas self.btApertura = Controles.PB(self, " " * 5 + _("Undetermined") + " " * 5, self.editarApertura).ponPlano(False) self.bloqueApertura = None self.btAperturasFavoritas = Controles.PB( self, "", self.aperturasFavoritas).ponIcono(Iconos.Favoritos()) self.btAperturasQuitar = Controles.PB( self, "", self.aperturasQuitar).ponIcono(Iconos.Motor_No()) hbox = Colocacion.H().relleno().control( self.btAperturasQuitar).control(self.btApertura).control( self.btAperturasFavoritas).relleno() _label(lyG, _("Opening"), hbox) # Libros fvar = self.configuracion.ficheroBooks self.listaLibros = Books.ListaLibros() self.listaLibros.recuperaVar(fvar) # Comprobamos que todos esten accesibles self.listaLibros.comprueba() li = [(x.nombre, x) for x in self.listaLibros.lista] libInicial = li[0][1] if li else None self.cbBooks = QTUtil2.comboBoxLB(self, li, libInicial) self.btNuevoBook = Controles.PB(self, "", self.nuevoBook, plano=True).ponIcono(Iconos.Mas(), tamIcon=16) self.chbBookMandatory = Controles.CHB(self, _("Mandatory"), False) # Respuesta rival li = ( (_("Selected by the player"), "su"), (_("Uniform random"), "au"), (_("Proportional random"), "ap"), (_("Always the highest percentage"), "mp"), ) self.cbBooksRR = QTUtil2.comboBoxLB(self, li, "mp") self.lbBooksRR = Controles.LB2P(self, _("Opponent's move")) hbox = Colocacion.H().relleno().control(self.cbBooks).control( self.btNuevoBook).control(self.chbBookMandatory).relleno() hboxRR = Colocacion.H().relleno().control(self.lbBooksRR).control( self.cbBooksRR).relleno() hboxV = Colocacion.V().otro(hbox).otro(hboxRR) self.chbBook = _label(lyG, _("Book"), hboxV, siCheck=True) gb = Controles.GB(self, "", lyG) tab.nuevaTab(gb, _("Initial moves")) layout = Colocacion.V().control(tb).control(tab).relleno().margen(3) self.setLayout(layout) self.liAperturasFavoritas = [] self.btAperturasFavoritas.hide() dic = Util.recuperaDIC(self.configuracion.ficheroEntMaquina) if not dic: dic = {} self.muestraDic(dic) self.ajustesCambiado() # self.ayudasCambiado() self.ponRival() self.recuperarVideo()
def __init__(self, wParent, configuracion, dic, siGestorSolo): super(WCambioRival, self).__init__(wParent) if not dic: dic = {} self.setWindowTitle(_("Change opponent")) self.setWindowIcon(Iconos.Motor()) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.configuracion = configuracion self.personalidades = Personalidades.Personalidades( self, configuracion) # Toolbar liAcciones = [ (_("Accept"), Iconos.Aceptar(), "aceptar"), None, (_("Cancel"), Iconos.Cancelar(), "cancelar"), None, ] tb = Controles.TB(self, liAcciones) # Blancas o negras self.rbBlancas = Controles.RB(self, _("White")).activa() self.rbNegras = Controles.RB(self, _("Black")) # Atras self.cbAtras = Controles.CHB(self, "", True) # Motores self.motores = Motores.Motores(configuracion) liDepths = [("--", 0)] for x in range(1, 31): liDepths.append((str(x), x)) # # Rival self.rival = configuracion.rivalInicial self.rivalTipo = Motores.INTERNO self.btRival = Controles.PB(self, "", self.cambiaRival, plano=False) self.edRtiempo = Controles.ED(self).tipoFloat().anchoMaximo(50) self.cbRdepth = Controles.CB(self, liDepths, 0).capturaCambiado(self.cambiadoDepth) lbTiempoSegundosR = Controles.LB2P(self, _("Time")) lbNivel = Controles.LB2P(self, _("Depth")) # # Ajustar rival liAjustes = self.personalidades.listaAjustes(True) self.cbAjustarRival = Controles.CB(self, liAjustes, kAjustarMejor).capturaCambiado( self.ajustesCambiado) lbAjustarRival = Controles.LB2P(self, _("Set strength")) btAjustarRival = Controles.PB(self, "", self.cambiaPersonalidades, plano=False).ponIcono(Iconos.Nuevo(), tamIcon=16) btAjustarRival.ponToolTip(_("Personalities")) # Layout # Color hbox = Colocacion.H().relleno().control( self.rbBlancas).espacio(30).control(self.rbNegras).relleno() gbColor = Controles.GB(self, _("Play with"), hbox) # Atras hbox = Colocacion.H().espacio(10).control(self.cbAtras) gbAtras = Controles.GB(self, _("Takeback"), hbox).alinCentrado() ## Color + Atras hAC = Colocacion.H().control(gbColor).control(gbAtras) if siGestorSolo: # gbColor.hide() gbAtras.hide() # Motores # Rival ly = Colocacion.G() ly.controlc(self.btRival, 0, 0, 1, 4) ly.controld(lbTiempoSegundosR, 1, 0).controld(self.edRtiempo, 1, 1) ly.controld(lbNivel, 1, 2).control(self.cbRdepth, 1, 3) lyH = Colocacion.H().control(lbAjustarRival).control( self.cbAjustarRival).control(btAjustarRival).relleno() ly.otroc(lyH, 2, 0, 1, 4) gbR = Controles.GB(self, _("Opponent"), ly) lyResto = Colocacion.V() lyResto.otro(hAC).espacio(3) lyResto.control(gbR).espacio(1) lyResto.margen(8) layout = Colocacion.V().control(tb).otro(lyResto).relleno().margen(3) self.setLayout(layout) self.dic = dic self.recuperaDic() self.ajustesCambiado() self.ponRival()
def __init__(self, wParent, sts, work): super(WWork, self).__init__(wParent) self.work = work self.setWindowTitle(work.pathToExe()) self.setWindowIcon(Iconos.Motor()) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint) tb = QTUtil2.tbAcceptCancel(self) # Tabs tab = Controles.Tab() # Tab-basic -------------------------------------------------- lbRef = Controles.LB(self, _("Reference") + ": ") self.edRef = Controles.ED(self, work.ref).anchoMinimo(360) lbInfo = Controles.LB(self, _("Information") + ": ") self.emInfo = Controles.EM(self, work.info, siHTML=False).anchoMinimo(360).altoFijo(60) lbDepth = Controles.LB(self, _("Maximum depth") + ": ") self.sbDepth = Controles.ED(self).tipoInt(work.depth).anchoFijo(30) lbSeconds = Controles.LB(self, _("Maximum seconds to think") + ": ") self.sbSeconds = Controles.ED(self).tipoFloat( float(work.seconds), decimales=3).anchoFijo(60) lbSample = Controles.LB(self, _("Sample") + ": ") self.sbIni = Controles.SB(self, work.ini + 1, 1, 100).capturaCambiado(self.changeSample) self.sbIni.isIni = True lbGuion = Controles.LB(self, _("to")) self.sbEnd = Controles.SB(self, work.end + 1, 1, 100).capturaCambiado(self.changeSample) self.sbEnd.isIni = False # self.lbError = Controles.LB(self).ponTipoLetra(peso=75).ponColorN("red") # self.lbError.hide() lySample = Colocacion.H().control(self.sbIni).control(lbGuion).control( self.sbEnd) ly = Colocacion.G() ly.controld(lbRef, 0, 0).control(self.edRef, 0, 1) ly.controld(lbInfo, 1, 0).control(self.emInfo, 1, 1) ly.controld(lbDepth, 2, 0).control(self.sbDepth, 2, 1) ly.controld(lbSeconds, 3, 0).control(self.sbSeconds, 3, 1) ly.controld(lbSample, 4, 0).otro(lySample, 4, 1) w = QtGui.QWidget() w.setLayout(ly) tab.nuevaTab(w, _("Basic data")) # Tab-Engine scrollArea = PantallaMotores.genOpcionesME(self, work.me) tab.nuevaTab(scrollArea, _("Engine options")) # Tab-Groups btAll = Controles.PB(self, _("All"), self.setAll, plano=False) btNone = Controles.PB(self, _("None"), self.setNone, plano=False) lyAN = Colocacion.H().control(btAll).espacio(10).control(btNone) self.liGroups = [] ly = Colocacion.G() ly.columnaVacia(1, 10) num = len(sts.groups) mitad = num / 2 + num % 2 for x in range(num): group = sts.groups.group(x) chb = Controles.CHB(self, _F(group.name), work.liGroupActive[x]) self.liGroups.append(chb) col = 0 if x < mitad else 2 fil = x % mitad ly.control(chb, fil, col) ly.otroc(lyAN, mitad, 0, numColumnas=3) w = QtGui.QWidget() w.setLayout(ly) tab.nuevaTab(w, _("Groups")) layout = Colocacion.V().control(tb).control(tab).margen(8) self.setLayout(layout) self.edRef.setFocus()
def __init__(self, w_parent, nombre_torneo): torneo = self.torneo = Tournament.Tournament(nombre_torneo) titulo = nombre_torneo icono = Iconos.Torneos() extparam = "untorneo_v1" QTVarios.WDialogo.__init__(self, w_parent, titulo, icono, extparam) self.configuration = Code.configuration # Datos self.liEnActual = [] self.xjugar = None self.liResult = None self.last_change = Util.today() self.li_results = [] # Toolbar tb = Controles.TBrutina(self, icon_size=24) tb.new(_("Close"), Iconos.MainMenu(), self.terminar) tb.new(_("Launch a worker"), Iconos.Lanzamiento(), self.gm_launch) # Tabs self.tab = tab = Controles.Tab() # Tab-configuration -------------------------------------------------- w = QtWidgets.QWidget() # Adjudicator lb_resign = Controles.LB( self, "%s (%s): " % (_("Minimum centipawns to assign winner"), "0=%s" % _("Disable"))) self.ed_resign = Controles.ED(self).tipoInt( torneo.resign()).anchoFijo(30) bt_resign = Controles.PB(self, "", rutina=self.borra_resign).ponIcono( Iconos.Reciclar()) # Draw-plys lbDrawMinPly = Controles.LB( self, "%s (%s): " % (_("Minimum moves to assign draw"), "0=%s" % _("Disable"))) self.sbDrawMinPly = Controles.SB(self, torneo.drawMinPly(), 20, 1000) # Draw-puntos lb_draw_range = Controles.LB( self, _("Maximum centipawns to assign draw") + ": ") self.ed_draw_range = Controles.ED(self).tipoInt( torneo.drawRange()).anchoFijo(30) bt_draw_range = Controles.PB( self, "", rutina=self.borra_draw_range).ponIcono(Iconos.Reciclar()) # adjudicator self.liMotores = self.configuration.comboMotoresMultiPV10() self.cbJmotor, self.lbJmotor = QTUtil2.comboBoxLB( self, self.liMotores, torneo.adjudicator(), _("Engine")) self.edJtiempo = Controles.ED(self).tipoFloat( torneo.adjudicator_time()).anchoFijo(50) self.lbJtiempo = Controles.LB2P(self, _("Time in seconds")) layout = Colocacion.G() layout.controld(self.lbJmotor, 3, 0).control(self.cbJmotor, 3, 1) layout.controld(self.lbJtiempo, 4, 0).control(self.edJtiempo, 4, 1) self.gbJ = Controles.GB(self, _("Adjudicator"), layout) self.gbJ.setCheckable(True) self.gbJ.setChecked(torneo.adjudicator_active()) lbBook = Controles.LB(self, _("Opening book") + ": ") fvar = self.configuration.file_books self.list_books = Books.ListBooks() self.list_books.restore_pickle(fvar) # Comprobamos que todos esten accesibles self.list_books.check() li = [(x.name, x.path) for x in self.list_books.lista] li.insert(0, ("* " + _("None"), "-")) self.cbBooks = Controles.CB(self, li, torneo.book()) btNuevoBook = Controles.PB(self, "", self.nuevoBook, plano=False).ponIcono(Iconos.Nuevo(), icon_size=16) lyBook = Colocacion.H().control( self.cbBooks).control(btNuevoBook).relleno() lbBookDepth = Controles.LB(self, _("Max depth of book (0=Maximum)") + ": ") self.sbBookDepth = Controles.SB(self, torneo.bookDepth(), 0, 200) lb_slow = Controles.LB(self, _("Slow down the movement of pieces") + ": ") self.chb_slow = Controles.CHB(self, " ", self.torneo.slow_pieces()) # Posicion inicial lbFEN = Controles.LB(self, _("Initial position") + ": ") self.fen = torneo.fen() self.btPosicion = Controles.PB(self, " " * 5 + _("Change") + " " * 5, self.posicionEditar).ponPlano(False) self.btPosicionQuitar = Controles.PB( self, "", self.posicionQuitar).ponIcono(Iconos.Motor_No()) self.btPosicionPegar = (Controles.PB(self, "", self.posicionPegar).ponIcono( Iconos.Pegar16()).ponToolTip( _("Paste FEN position"))) lyFEN = (Colocacion.H().control(self.btPosicionQuitar).control( self.btPosicion).control(self.btPosicionPegar).relleno()) # Norman Pollock lbNorman = Controles.LB( self, '%s(<a href="https://komodochess.com/pub/40H-pgn-utilities">?</a>): ' % _("Initial position from Norman Pollock openings database"), ) self.chbNorman = Controles.CHB(self, " ", self.torneo.norman()) # Layout layout = Colocacion.G() ly_res = Colocacion.H().control( self.ed_resign).control(bt_resign).relleno() ly_dra = Colocacion.H().control( self.ed_draw_range).control(bt_draw_range).relleno() layout.controld(lb_resign, 0, 0).otro(ly_res, 0, 1) layout.controld(lbDrawMinPly, 1, 0).control(self.sbDrawMinPly, 1, 1) layout.controld(lb_draw_range, 2, 0).otro(ly_dra, 2, 1) layout.controld(lbBook, 3, 0).otro(lyBook, 3, 1) layout.controld(lbBookDepth, 4, 0).control(self.sbBookDepth, 4, 1) layout.controld(lbFEN, 5, 0).otro(lyFEN, 5, 1) layout.controld(lbNorman, 6, 0).control(self.chbNorman, 6, 1) layout.controld(lb_slow, 7, 0).control(self.chb_slow, 7, 1) layoutV = Colocacion.V().relleno().otro(layout).control( self.gbJ).relleno() layoutH = Colocacion.H().relleno().otro(layoutV).relleno() # Creamos w.setLayout(layoutH) tab.nuevaTab(w, _("Configuration")) # Tab-engines -------------------------------------------------- self.splitterEngines = QtWidgets.QSplitter(self) self.register_splitter(self.splitterEngines, "engines") # TB li_acciones = [ (_("New"), Iconos.TutorialesCrear(), self.enNuevo), None, (_("Modify"), Iconos.Modificar(), self.enModificar), None, (_("Remove"), Iconos.Borrar(), self.enBorrar), None, (_("Copy"), Iconos.Copiar(), self.enCopiar), None, (_("Import"), Iconos.MasDoc(), self.enImportar), None, ] tbEnA = Controles.TBrutina(self, li_acciones, icon_size=16, style=QtCore.Qt.ToolButtonTextBesideIcon) # Grid engine o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("ALIAS", _("Alias"), 209) self.gridEnginesAlias = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_ALIAS) self.register_grid(self.gridEnginesAlias) w = QtWidgets.QWidget() ly = Colocacion.V().control(self.gridEnginesAlias).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) o_columns = Columnas.ListaColumnas() o_columns.nueva("CAMPO", _("Label"), 200, siDerecha=True) o_columns.nueva("VALOR", _("Value"), 286) self.gridEnginesValores = Grid.Grid(self, o_columns, siSelecFilas=False, xid=GRID_VALUES) self.register_grid(self.gridEnginesValores) w = QtWidgets.QWidget() ly = Colocacion.V().control(self.gridEnginesValores).margen(0) w.setLayout(ly) self.splitterEngines.addWidget(w) self.splitterEngines.setSizes([250, 520]) # por defecto w = QtWidgets.QWidget() ly = Colocacion.V().control(tbEnA).control(self.splitterEngines) w.setLayout(ly) tab.nuevaTab(w, _("Engines")) # Creamos # Tab-games queued-------------------------------------------------- w = QtWidgets.QWidget() # TB li_acciones = [ (_("New"), Iconos.TutorialesCrear(), self.gm_crear_queued), None, (_("Remove"), Iconos.Borrar(), self.gm_borrar_queued), None, ] tbEnG = Controles.TBrutina(self, li_acciones, icon_size=16, style=QtCore.Qt.ToolButtonTextBesideIcon) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("WHITE", _("White"), 190, centered=True) o_columns.nueva("BLACK", _("Black"), 190, centered=True) o_columns.nueva("TIME", _("Time"), 170, centered=True) # o_columns.nueva("STATE", _("State"), 190, centered=True) self.gridGamesQueued = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_GAMES_QUEUED) self.register_grid(self.gridGamesQueued) # Layout layout = Colocacion.V().control(tbEnG).control(self.gridGamesQueued) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Games queued")) # Tab-games terminados-------------------------------------------------- w = QtWidgets.QWidget() # TB li_acciones = [ (_("Remove"), Iconos.Borrar(), self.gm_borrar_finished), None, (_("Show"), Iconos.PGN(), self.gm_show_finished), None, (_("Save") + "(%s)" % _("PGN"), Iconos.GrabarComo(), self.gm_save_pgn), None, (_("Save") + "(%s)" % _("Database"), Iconos.GrabarComo(), self.gm_save_database), None, ] tbEnGt = Controles.TBrutina(self, li_acciones, icon_size=16, style=QtCore.Qt.ToolButtonTextBesideIcon) o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 50, centered=True) o_columns.nueva("WHITE", _("White"), 190, centered=True) o_columns.nueva("BLACK", _("Black"), 190, centered=True) o_columns.nueva("TIME", _("Time"), 170, centered=True) o_columns.nueva("RESULT", _("Result"), 190, centered=True) self.gridGamesFinished = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True, xid=GRID_GAMES_FINISHED) self.register_grid(self.gridGamesFinished) # Layout layout = Colocacion.V().control(tbEnGt).control(self.gridGamesFinished) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Games finished")) # Tab-resultado -------------------------------------------------- w = QtWidgets.QWidget() # Grid wh = _("W") bl = _("B") o_columns = Columnas.ListaColumnas() o_columns.nueva("NUM", _("N."), 35, centered=True) o_columns.nueva("ENGINE", _("Engine"), 120, centered=True) o_columns.nueva("SCORE", _("Score") + "%", 50, centered=True) o_columns.nueva("WIN", _("Wins"), 50, centered=True) o_columns.nueva("DRAW", _("Draws"), 50, centered=True) o_columns.nueva("LOST", _("Losses"), 50, centered=True) o_columns.nueva("WIN-WHITE", "%s %s" % (wh, _("Wins")), 60, centered=True) o_columns.nueva("DRAW-WHITE", "%s %s" % (wh, _("Draws")), 60, centered=True) o_columns.nueva("LOST-WHITE", "%s %s" % (wh, _("Losses")), 60, centered=True) o_columns.nueva("WIN-BLACK", "%s %s" % (bl, _("Wins")), 60, centered=True) o_columns.nueva("DRAW-BLACK", "%s %s" % (bl, _("Draws")), 60, centered=True) o_columns.nueva("LOST-BLACK", "%s %s" % (bl, _("Losses")), 60, centered=True) o_columns.nueva("GAMES", _("Games"), 50, centered=True) self.gridResults = Grid.Grid(self, o_columns, siSelecFilas=True, xid=GRID_RESULTS) self.register_grid(self.gridResults) self.qtColor = { "WHITE": QTUtil.qtColorRGB(255, 250, 227), "BLACK": QTUtil.qtColorRGB(221, 255, 221), "SCORE": QTUtil.qtColorRGB(170, 170, 170), } # Layout layout = Colocacion.V().control(self.gridResults) # Creamos w.setLayout(layout) tab.nuevaTab(w, _("Results")) # Layout # tab.set_position("W") layout = Colocacion.V().control(tb).espacio(-3).control(tab).margen(2) self.setLayout(layout) self.restore_video(siTam=True, anchoDefecto=800, altoDefecto=430) self.gridEnginesAlias.gotop() self.ed_resign.setFocus() self.muestraPosicion() QtCore.QTimer.singleShot(5000, self.comprueba_cambios) self.rotulos_tabs()
def __init__(self, wParent, oColumnas, liFiltro): super(WFiltrar, self).__init__(wParent) self.setWindowTitle(_("Filter")) self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.setWindowIcon(Iconos.Filtrar()) self.liFiltro = liFiltro nFiltro = len(liFiltro) liCampos = [(x.cabecera, x.clave) for x in oColumnas.liColumnas if x.clave != "numero"] liCampos.insert(0, ("", None)) liCondicion = [("", None), (_("Equal"), "="), (_("Not equal"), "<>"), (_("Greater than"), ">"), (_("Less than"), "<"), (_("Greater than or equal"), ">="), (_("Less than or equal"), "<="), (_("Like (wildcard = *)"), "LIKE"), (_("Not like (wildcard = *)"), "NOT LIKE")] liUnion = [("", None), (_("AND"), "AND"), (_("OR"), "OR")] f = Controles.TipoLetra(puntos=12) # 0, peso=75 ) lbCol = Controles.LB(self, _("Column")).ponFuente(f) lbPar0 = Controles.LB(self, "(").ponFuente(f) lbPar1 = Controles.LB(self, ")").ponFuente(f) lbCon = Controles.LB(self, _("Condition")).ponFuente(f) lbVal = Controles.LB(self, _("Value")).ponFuente(f) lbUni = Controles.LB(self, "+").ponFuente(f) ly = Colocacion.G() ly.controlc(lbUni, 0, 0).controlc(lbPar0, 0, 1).controlc(lbCol, 0, 2).controlc( lbCon, 0, 3).controlc(lbVal, 0, 4).controlc(lbPar1, 0, 5) self.numC = 8 liC = [] for i in range(self.numC): if nFiltro > i: union, par0, campo, condicion, valor, par1 = liFiltro[i] else: union, par0, campo, condicion, valor, par1 = None, False, None, None, "", False if i > 0: c_union = Controles.CB(self, liUnion, union) ly.controlc(c_union, i + 1, 0) else: c_union = None c_par0 = Controles.CHB(self, "", par0).anchoFijo(20) ly.controlc(c_par0, i + 1, 1) c_campo = Controles.CB(self, liCampos, campo) ly.controlc(c_campo, i + 1, 2) c_condicion = Controles.CB(self, liCondicion, condicion) ly.controlc(c_condicion, i + 1, 3) c_valor = Controles.ED(self, valor) ly.controlc(c_valor, i + 1, 4) c_par1 = Controles.CHB(self, "", par1).anchoFijo(20) ly.controlc(c_par1, i + 1, 5) liC.append( (c_union, c_par0, c_campo, c_condicion, c_valor, c_par1)) self.liC = liC # Toolbar liAcciones = [ (_("Accept"), Iconos.Aceptar(), self.aceptar), None, (_("Cancel"), Iconos.Cancelar(), self.reject), None, (_("Reinit"), Iconos.Reiniciar(), self.reiniciar), None, ] tb = Controles.TBrutina(self, liAcciones) # Layout layout = Colocacion.V().control(tb).otro(ly).margen(3) self.setLayout(layout) liC[0][2].setFocus()
def __init__(self, wParent, configuracion, fen): QtGui.QDialog.__init__(self, wParent) self.wParent = wParent self.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowTitleHint) self.configuracion = configuracion self.setWindowTitle(_("Position")) self.setWindowIcon(Iconos.Datos()) # Quien mueve self.rbBlancas = Controles.RB(self, _("White")) self.rbNegras = Controles.RB(self, _("Black")) # Enroques permitidos self.cbBoo = Controles.CHB(self, _("White") + " O-O", True) self.cbBooo = Controles.CHB(self, _("White") + " O-O-O", True) self.cbNoo = Controles.CHB(self, _("Black") + " O-O", True) self.cbNooo = Controles.CHB(self, _("Black") + " O-O-O", True) # Peon al paso lbAlPaso = Controles.LB(self, _("En passant") + ":") self.edAlPaso = Controles.ED(self).controlrx( "(-|[a-h][36])").anchoFijo(30) # Medias jugadas desde ultimo mov. peon self.edMedias, lbMedias = QTUtil2.spinBoxLB( self, 0, 0, 999, etiqueta=_("Moves since the last pawn advance or capture"), maxTam=50) # Jugadas self.edJugadas, lbJugadas = QTUtil2.spinBoxLB(self, 1, 1, 999, etiqueta=_("Moves"), maxTam=50) # Botones adicionales btPosInicial = Controles.PB(self, _("Start position"), self.posInicial, plano=False) btLimpiaTablero = Controles.PB(self, _("Clear board"), self.limpiaTablero, plano=False) btPegar = Controles.PB(self, _("Paste FEN position"), self.pegarPosicion, plano=False) btCopiar = Controles.PB(self, _("Copy FEN position"), self.copiarPosicion, plano=False) btVoyager = Controles.PB(self, "", self.lanzaVoyager, plano=False).ponIcono(Iconos.Voyager()) self.btVoice = Controles.PB(self, "", self.voiceActive, plano=False).ponIcono(Iconos.S_Microfono()) self.btVoiceX = Controles.PB(self, "", self.voiceDeactive, plano=False).ponIcono( Iconos.X_Microfono()) # Tablero confTablero = configuracion.confTablero("POSICION", 24) self.posicion = ControlPosicion.ControlPosicion() if fen: self.posicion.leeFen(fen) else: self.posicion.posInicial() self.tablero = Tablero.PosTablero(self, confTablero) self.tablero.crea() self.tablero.ponMensajero(self.mueve) self.tablero.mensBorrar = self.borraCasilla self.tablero.mensCrear = self.creaCasilla self.tablero.mensRepetir = self.repitePieza self.ultimaPieza = "P" self.piezas = self.tablero.piezas self.resetPosicion() # Piezas drag-drop self.dragDropWI = QTVarios.ListaPiezas(self, "P;N;B;R;Q;K", self.tablero) self.dragDropWB = QTVarios.ListaPiezas(self, "P,N,B,R,Q,K", self.tablero) self.dragDropBD = QTVarios.ListaPiezas(self, "k;q;r;b;n;p", self.tablero) self.dragDropBA = QTVarios.ListaPiezas(self, "k,q,r,b,n,p", self.tablero) self.tablero.ponDispatchDrop(self.dispatchDrop) self.tablero.baseCasillasSC.setAcceptDrops(True) # Ayuda lbAyuda = Controles.LB( self, _("<ul><li><b>Add piece</b> : Right mouse button on empty square</li><li><b>Copy piece</b> : Left mouse button on empty square</li><li><b>Move piece</b> : Drag and drop piece with left mouse button</li><li><b>Delete piece</b> : Right mouse button on occupied square</li></ul>" )) # Tool bar tb = QTUtil2.tbAcceptCancel(self, siReject=False) # Layout # # Quien mueve hbox = Colocacion.H().relleno().control( self.rbBlancas).espacio(30).control(self.rbNegras).relleno() gbColor = Controles.GB(self, _("Next move"), hbox) # # Enroques ly = Colocacion.G().control(self.cbBoo, 0, 0).control(self.cbNoo, 0, 1) ly.control(self.cbBooo, 1, 0).control(self.cbNooo, 1, 1) gbEnroques = Controles.GB(self, _("Castling moves possible"), ly) ## Otros ly = Colocacion.G() ly.controld(lbMedias, 0, 0, 1, 3).control(self.edMedias, 0, 3) ly.controld(lbAlPaso, 1, 0).control(self.edAlPaso, 1, 1) ly.controld(lbJugadas, 1, 2).control(self.edJugadas, 1, 3) gbOtros = Controles.GB(self, "", ly) ## Botones adicionales lyBA = Colocacion.H().control(btPosInicial).control( btLimpiaTablero).control(btPegar).control(btCopiar).control( btVoyager) ## Ayuda ly = Colocacion.H().control(lbAyuda) gbAyuda = Controles.GB(self, _("Help"), ly) ## Izquierda ly = Colocacion.V().control(gbColor).relleno().control( gbEnroques).relleno() ly.control(gbOtros).relleno().control(gbAyuda).margen(5) lyI = Colocacion.V().control(tb).otro(ly).margen(3) ## Derecha lyBT = Colocacion.H().control(self.btVoice).control(self.btVoiceX) lyDA = Colocacion.G() lyDA.controlc(self.dragDropBA, 0, 1).otro(lyBT, 0, 2) lyDA.controld(self.dragDropWI, 1, 0).control(self.tablero, 1, 1).control(self.dragDropBD, 1, 2) lyDA.controlc(self.dragDropWB, 2, 1) lyD = Colocacion.V().otro(lyDA).otro(lyBA).relleno() ## Completo ly = Colocacion.H().otro(lyI).otro(lyD).margen(3) self.setLayout(ly) if configuracion.siDGT: if not DGT.activarSegunON_OFF(self.dgt): # Error QTUtil2.mensError( self, _("Error, could not detect the DGT board driver.")) self.ponCursor() self.voyager = None self.bufferVoice = "" self.queueVoice = [] self.isVoiceActive = False if not configuracion.voice: self.btVoiceX.setVisible(False) self.btVoice.setVisible(False) else: if Voice.runVoice.isActive(): self.voiceActive() else: self.voiceDeactive()
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) self.chbSaveWhenFinished = Controles.CHB( self, _("Save when finished"), self.dbConfig.get("SAVEWHENFINISHED", False)) # Visuales self.selectBanda = PantallaTab.SelectBanda(self) lyG = Colocacion.V().control(self.g_guion).control( self.chbSaveWhenFinished) lySG = Colocacion.H().control(self.selectBanda).otro(lyG).relleno(1) 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()