def escape(event=None): if expert: clear(fenetre) barre_de_menu(lm_donne, menu) else: clear(fenetre) barre_de_menu(lm_proto_menu, menu)
def postaction(): ''' Actions à effectuer en sortie ''' name = saisie.get() if DEBUG: print("sortie:", saisie.get()) name_actif = sequence_active.name names = [seq.name for seq in liste_des_sequences] names = [n for n in names if n != name_actif] if name: if name in names: barre_de_message('Ce nom existe déjà', messager) else: barre_de_message('Séquence validée', messager) else: barre_de_message('Entrez un nom de séquence', messager) return None if sequence_active.is_invalide(): mess = 'Filtres incompatibles' barre_de_message(mess, messager) else : sequence_active.name = name barre_de_menu(lm_sequence, menu) liste_des_sequences.sort(key=lambda seq: seq.name) writesequences(liste_des_sequences) clear(fenetre)
def escape(event=None): if expert : barre_de_menu(lm_sequence, menu) clear(fenetre) else : barre_de_menu(lm_proto_menu, menu) clear(fenetre)
def conclure(): if name.get(): if DEBUG: print(var_pointH_min.get(), var_HLD_min.get()) print(name.get()) filtre = Filtre(name=name.get(), pointH_min=var_pointH_min.get(), pointH_max=var_pointH_max.get(), trefle_min=trefle_min.get(), trefle_max=trefle_max.get(), carreau_min=carreau_min.get(), carreau_max=carreau_max.get(), coeur_min=coeur_min.get(), coeur_max=coeur_max.get(), pique_min=pique_min.get(), pique_max=pique_max.get(), points_totaux_min=var_HLD_min.get(), points_totaux_max=var_HLD_max.get()) liste_des_filtres.append(filtre) if isinstance(index_filtre, int): del liste_des_filtres[index_filtre] liste_des_filtres.sort(key=lambda filtre: filtre.name) writefiltres(liste_des_filtres) barre_de_menu(lm_filtre, menu) mess = "Filtre enregistré" barre_de_message(mess, messager) clear(fenetre)
def c_menu_rapide(): global expert expert = False c_charger_donnes() clear(menu) barre_de_message("Menu des enchères", messager) barre_de_menu(lm_enchere_rapide, menu) initialise_encheres()
def postaction(): global sequence_active barre_de_menu(lm_sequence, menu) _supprimer_sequence(sequence_active) writesequences(liste_des_sequences) barre_de_message(f'{sequence_active.name} effacée', messager) sequence_active = None clear(fenetre)
def supprimer(): if DEBUG: print('supprimer') if askyesno(title='Etes-vous sûr ?', message='Vous allez supprimez un filtre'): if DEBUG: print('oui') del liste_des_filtres[index_filtre] liste_des_filtres.sort(key=lambda filtre: filtre.name) clear(fenetre) barre_de_menu(lm_filtre, menu) mess = 'Le filtre a été supprimé' barre_de_message(mess, messager)
def validate(event=None): text = var.get() if text: try: filename = "data/" + text + ".pak" with open(filename, "wb") as fichier: pickle.dump(pack_actif, fichier) wlabel.destroy() wentree.destroy() barre_de_message(f"Fichier {filename[5:]} sauvegardé", messager) barre_de_menu(lm_donne, menu) except IOError: barre_de_message("Problème d'entrée/sortie", messager)
def validate(event=None): global pack_actif, index_pack try: saisie = int(saisir.get()) except ValueError: mess = 'Entrez un entier stictement positif' barre_de_message(mess, messager) return None if saisie in range(1, 1000): mess = 'Cela prend parfois quelques instants' barre_de_message(mess, messager) messager.update() index_pack = 0 if not sequence_active: pack_actif = [Donne() for i in range(saisie)] else: try : pack_actif = [] for i in range(saisie): donne = sequence_active.distribue() donneur = vardonneur.get() if donneur == 4 : donne.donneur = randint(0,3) else : donne.donneur = Position(donneur) vul = varvul.get() if vul == 4 : donne.vul = randint(0,3) else: donne.vul = Vulnerabilite(vul) pack_actif.append(donne.identifiant()) except InvalidSequence : mess = "Séquence invalide " barre_de_message(mess, messager) clear(menu) barre_de_menu(lm_sequence, menu) clear(fenetre) return None mess = 'Donnes distribuées' barre_de_message(mess, messager) if expert : barre_de_menu(lm_donne, menu) clear(fenetre) else : c_sauvegarder_donnes() else: mess = 'Entrez un entier compris entre 1 et 1000' barre_de_message(mess, messager)
def postaction(): global sequence_active ''' Actions à effectuer en sortie ''' names = [seq.name for seq in liste_des_sequences] name = saisie.get() if name in names: mess = "Ce nom existe déjà !" barre_de_message(mess, messager) else: sequence.name = name sequence_active = sequence barre_de_menu(lm_sequence, menu) liste_des_sequences.append(sequence) liste_des_sequences.sort(key=lambda seq: seq.name) writesequences(liste_des_sequences) clear(fenetre)
def postaction(): global sequence_active ''' Actions à effectuer en sortie ''' names = [seq.name for seq in liste_des_sequences] name = saisie.get() if name in names: mess = "Ce nom existe déjà !" barre_de_message(mess, messager) elif name == "": mess = 'Entrez un nom de séquence' barre_de_message(mess, messager) elif sequence.is_invalide(): mess = 'Filtres incompatibles' barre_de_message(mess, messager) else: sequence.name = name sequence_active = sequence barre_de_menu(lm_sequence, menu) liste_des_sequences.append(sequence) liste_des_sequences.sort(key=lambda seq: seq.name) writesequences(liste_des_sequences) clear(fenetre)
def validate(event=None): global pack_actif, index_pack try: saisie = int(saisir.get()) except ValueError: mess = 'Entrez un entier stictement positif' barre_de_message(mess, messager) return None if saisie in range(1, 1000): mess = 'Cela prend parfois quelques instants' barre_de_message(mess, messager) messager.update() compteur = 0 overflow = 0 pack_actif = [] index_pack = 0 while compteur <= saisie and overflow < 100_000: donne = Donne() overflow += 1 if (not sequence_active) or sequence_active.filtre(donne): compteur += 1 pack_actif.append(donne.identifiant()) if compteur == 0: mess = 'Filtres incompatibles' donne = Donne() pack_actif.append(donne.identifiant()) elif compteur > 0: mess = 'Donnes rares. Uniquement ' + str( compteur) + ' donnes distribuées' else: mess = 'Donnes distribuées' barre_de_message(mess, messager) barre_de_menu(lm_donne, menu) clear(fenetre) else: mess = 'Entrez un entier compris entre 1 et 1000' barre_de_message(mess, messager)
def annul(): barre_de_menu(lm_sequence, menu) clear(fenetre)
def menu_principal(): image() barre_de_menu(lm_principale, menu) barre_de_message("Menu principal", messager)
def escape(event=None): barre_de_menu(lm_sequence, menu) clear(fenetre)
def escape(event=None): clear(fenetre) barre_de_menu(lm_donne, menu)
def c_gestion_donne(): clear(menu) image() barre_de_message("Menu des donnes", messager) barre_de_menu(lm_donne, menu)
def proto_menu(): image() barre_de_menu(lm_proto_menu, menu) barre_de_message("Menu principal", messager)
def annuler(): clear(fenetre) barre_de_menu(lm_filtre, menu)
def postaction(): barre_de_menu(lm_sequence, menu) barre_de_message(f'Séquence active : {sequence_active.name}', messager) clear(fenetre)
def c_regler_filtre(index_filtre=None): clear(menu) barre_de_message('Réglage du filtre', messager) def init_vars(selection): var_pointH_min.set(selection.pointH_min) var_pointH_max.set(selection.pointH_max) var_HLD_min.set(selection.points_totaux_min) var_HLD_max.set(selection.points_totaux_max) pique_min.set(selection.pique_min) pique_max.set(selection.pique_max) coeur_min.set(selection.coeur_min) coeur_max.set(selection.coeur_max) carreau_min.set(selection.carreau_min) carreau_max.set(selection.carreau_max) trefle_min.set(selection.trefle_min) trefle_max.set(selection.trefle_max) def conclure(): if name.get(): if DEBUG: print(var_pointH_min.get(), var_HLD_min.get()) print(name.get()) filtre = Filtre(name=name.get(), pointH_min=var_pointH_min.get(), pointH_max=var_pointH_max.get(), trefle_min=trefle_min.get(), trefle_max=trefle_max.get(), carreau_min=carreau_min.get(), carreau_max=carreau_max.get(), coeur_min=coeur_min.get(), coeur_max=coeur_max.get(), pique_min=pique_min.get(), pique_max=pique_max.get(), points_totaux_min=var_HLD_min.get(), points_totaux_max=var_HLD_max.get()) mess = filtre.controle_couleurs() if mess : barre_de_message(mess, messager) init_vars(filtre) return None mess = filtre.controle_HLD() if mess : barre_de_message(mess, messager) init_vars(filtre) return None liste_des_filtres.append(filtre) if isinstance(index_filtre, int): del liste_des_filtres[index_filtre] liste_des_filtres.sort(key=lambda filtre: filtre.name) writefiltres(liste_des_filtres) barre_de_menu(lm_filtre, menu) mess = "Filtre enregistré" barre_de_message(mess, messager) clear(fenetre) def annuler(): clear(fenetre) barre_de_menu(lm_filtre, menu) def supprimer(): if DEBUG: print('supprimer') if askyesno(title='Etes-vous sûr ?', message='Vous allez supprimez un filtre'): if DEBUG: print('oui') del liste_des_filtres[index_filtre] liste_des_filtres.sort(key=lambda filtre: filtre.name) writefiltres(liste_des_filtres) clear(fenetre) barre_de_menu(lm_filtre, menu) mess = 'Le filtre a été supprimé' barre_de_message(mess, messager) clear(fenetre) var_pointH_min, var_pointH_max = scale_couple(fenetre, 'Points H', 0, 40) var_HLD_min, var_HLD_max = scale_couple(fenetre, 'Points HLD', 1, 58) pique_min, pique_max = scale_couple(fenetre, 'Nombre de piques', 2) coeur_min, coeur_max = scale_couple(fenetre, 'Nombre de coeurs', 3) carreau_min, carreau_max = scale_couple(fenetre, 'Nombre de carreaux', 4) trefle_min, trefle_max = scale_couple(fenetre, 'Nombre de trèfles', 5) name = tk.StringVar(fenetre) tk.Label(fenetre, text='Nom du filtre').grid(row=10, column=0) tk.Entry(fenetre, textvariable=name).grid(row=10, column=1) if isinstance(index_filtre, int): selection = liste_des_filtres[index_filtre] name.set(selection.name) init_vars(selection) lm_regler_filtre = [['Sauvegarder', conclure], ['Supprimer', supprimer], ['Annuler', annuler] ] else: var_pointH_max.set(40) var_HLD_max.set(58) pique_max.set(13) coeur_max.set(13) carreau_max.set(13) trefle_max.set(13) lm_regler_filtre = [['Sauvegarder', conclure], ['Annuler', annuler] ] barre_de_menu(lm_regler_filtre, menu)
def c_sequence(): clear(menu) image() barre_de_message("Menu des séquences", messager) barre_de_menu(lm_sequence, menu)
def cancel(): clear(menu) barre_de_menu(lm_donne, menu) clear(fenetre)
def c_gestion_filtre(): clear(menu) image() barre_de_message("Menu des filtres", messager) barre_de_menu(lm_filtre, menu)
def c_enchérir(): clear(menu) barre_de_message("Menu des enchères", messager) barre_de_menu(lm_enchere, menu) initialise_encheres()