diff --git a/cave.py b/cave.py index c0a9f91..949d718 100644 --- a/cave.py +++ b/cave.py @@ -1,4 +1,5 @@ + import pickle from tkinter import * @@ -6,7 +7,7 @@ class Etageres(object): def __init__(self): self.etageres = [] self.nbetagere = 0 - self.couleur = ["rouge","blanc","rose"] + self.couleur = {"rouge":"red","blanc":"white","rose":"pink"} @classmethod def load_etageres(cls,file): @@ -21,6 +22,9 @@ class Etageres(object): self.fenetre=Tk() for etagere in self.etageres: etagere.generate_frame(self.fenetre) + + framecontrol=Frame(self.fenetre) + framecontrol.grid(column=2) def mainloop(self): self.fenetre.mainloop() @@ -114,14 +118,29 @@ class Etagere(object): def click_add_bouteille(self,cassiervide): - couleur="test" - millesime="0000" - appelation="toto" - newbouteille=Bouteille(cassiervide.pos_largeur, cassiervide.pos_hauteur, couleur, appelation, millesime, self) - self.bouteilles.append(newbouteille) - del cassiervide - newbouteille.generate_boutton(self.frame) - self.frame["text"]=self + child_window=Toplevel(self.etageres.fenetre) + Label(child_window,text="select color").pack() + couleur=StringVar() + couleur.set("rouge") + OptionMenu(child_window,couleur,*self.etageres.couleur.keys()).pack() + + Label(child_window,text="enter millesime").pack() + millesime=StringVar() + Entry(child_window,textvariable=millesime).pack() + + Label(child_window,text="enter appelation").pack() + appelation=StringVar() + Entry(child_window,textvariable=appelation).pack() + + Button(child_window,text="OK",command=lambda:add(cassiervide,couleur.get(),millesime.get(),appelation.get())).pack() + + def add(cassiervide,couleur,millesime,appelation): + child_window.destroy() + newbouteille=Bouteille(cassiervide.pos_largeur, cassiervide.pos_hauteur, couleur, appelation, millesime, self) + self.bouteilles.append(newbouteille) + del cassiervide + newbouteille.generate_boutton(self.frame) + self.frame["text"]=self class Cassier_vide(object): @@ -138,9 +157,6 @@ class Bouteille(object): def __init__(self, pos_largeur, pos_hauteur, couleur, appelation, millesime, etagere): self.pos_largeur = pos_largeur self.pos_hauteur = pos_hauteur - if (couleur not in etagere.etageres.couleur): - etagere.etageres.couleur.append(couleur) - self.couleur = couleur @@ -151,17 +167,18 @@ class Bouteille(object): def generate_boutton(self,frame): self.boutton=Button(frame,text=self,command=lambda:self.etagere.click_remove_bouteille(self)) + self.boutton["bg"]=self.etagere.etageres.couleur[self.couleur] self.boutton.grid(row=self.pos_hauteur,column=self.pos_largeur) def __repr__(self): - return "appelation {}, millesime {} \n".format(self.appelation, self.millesime) + return "couleur {} ,appelation {}, millesime {} \n".format( self.couleur,self.appelation, self.millesime) new = Etageres() new.add_etagere(10, 3) new.add_etagere(4,4) print(new.etageres[0].add_bouteille(1, 1, "rouge", "saint emilion", 2005)) -print(new.etageres[0].add_bouteille(9, 1, "pisse", "gewurtz", 2010)) +print(new.etageres[0].add_bouteille(9, 1, "rose", "gewurtz", 2010)) print(new.etageres[0].add_bouteille(5, 2, "rouge", "saint emilion", 2006)) print(new.etageres[0].bouteilles)