remplacement type d'objet graphique

This commit is contained in:
vincent 2018-02-11 15:56:51 +01:00
parent 2b081d3d8b
commit 4e89d0915d

41
cave.py
View File

@ -79,9 +79,9 @@ class Etagere(object):
def add_bouteille(self, pos_largeur, pos_hauteur, couleur, appelation, millesime): def add_bouteille(self, pos_largeur, pos_hauteur, couleur, appelation, millesime):
for bouteille in self.bouteilles: if (pos_hauteur > self.hauteur or pos_largeur > self.largeur or pos_hauteur < 0 or pos_largeur < 0):
if (pos_hauteur > self.hauteur or pos_largeur > self.largeur or pos_largeur < 1 or pos_largeur < 1):
return "bouteille positioné en dehors des emplacement" return "bouteille positioné en dehors des emplacement"
for bouteille in self.bouteilles:
if (pos_largeur == bouteille.pos_largeur and pos_hauteur == bouteille.pos_hauteur): if (pos_largeur == bouteille.pos_largeur and pos_hauteur == bouteille.pos_hauteur):
return "une bouteille existe déja a cette emplacement" return "une bouteille existe déja a cette emplacement"
newbouteille=Bouteille(pos_largeur, pos_hauteur, couleur, appelation, millesime, self) newbouteille=Bouteille(pos_largeur, pos_hauteur, couleur, appelation, millesime, self)
@ -179,8 +179,7 @@ class EtageresUI(object):
for etagereUI in self.etageresUI: for etagereUI in self.etageresUI:
if etagereUI.etagere.num_etagere== int(num): if etagereUI.etagere.num_etagere== int(num):
print ("find") print ("find")
etagereUI.frame.destroy() etagereUI.destroy()
del etagereUI
self.etageres.remove_etagere(int(num)) self.etageres.remove_etagere(int(num))
@ -188,11 +187,12 @@ class EtageresUI(object):
def mainloop(self): def mainloop(self):
self.fenetre.mainloop() self.fenetre.mainloop()
class EtagereUI(object): class EtagereUI(LabelFrame):
def __init__(self,etagere,etageresUI): def __init__(self,etagere,etageresUI):
LabelFrame.__init__(self,etageresUI.etagere_frame,text=etagere)
self.etagere=etagere self.etagere=etagere
self.etageresUI=etageresUI self.etageresUI=etageresUI
self.frame=LabelFrame(self.etageresUI.etagere_frame,text=self.etagere)
for hauteur in range(self.etagere.hauteur): for hauteur in range(self.etagere.hauteur):
for largeur in range(self.etagere.largeur): for largeur in range(self.etagere.largeur):
isset = False isset = False
@ -203,14 +203,14 @@ class EtagereUI(object):
break break
if isset == False: if isset == False:
Cassier_videUI(largeur,hauteur,self) Cassier_videUI(largeur,hauteur,self)
self.frame.grid(row=self.etagere.num_etagere) self.grid(row=self.etagere.num_etagere)
def click_remove_bouteille(self,bouteilleUI): def click_remove_bouteille(self,bouteilleUI):
self.etagere.remove_bouteille(bouteilleUI.bouteille.pos_largeur, bouteilleUI.bouteille.pos_hauteur) self.etagere.remove_bouteille(bouteilleUI.bouteille.pos_largeur, bouteilleUI.bouteille.pos_hauteur)
bouteilleUI.boutton.destroy() bouteilleUI.destroy()
Cassier_videUI(bouteilleUI.bouteille.pos_largeur,bouteilleUI.bouteille.pos_hauteur,self) Cassier_videUI(bouteilleUI.bouteille.pos_largeur,bouteilleUI.bouteille.pos_hauteur,self)
self.frame["text"]=self.etagere self["text"]=self.etagere
def click_add_bouteille(self,cassiervide): def click_add_bouteille(self,cassiervide):
@ -232,30 +232,31 @@ class EtagereUI(object):
def add(cassiervide,couleur,millesime,appelation): def add(cassiervide,couleur,millesime,appelation):
child_window.destroy() child_window.destroy()
print(cassiervide.pos_largeur)
print(cassiervide.pos_hauteur)
newbouteille=self.etagere.add_bouteille(cassiervide.pos_largeur, cassiervide.pos_hauteur, couleur, appelation, millesime) newbouteille=self.etagere.add_bouteille(cassiervide.pos_largeur, cassiervide.pos_hauteur, couleur, appelation, millesime)
cassiervide.boutton.destroy() cassiervide.destroy()
del cassiervide
BouteilleUI(newbouteille,self) BouteilleUI(newbouteille,self)
self.frame["text"]=self.etagere self["text"]=self.etagere
class Cassier_videUI(object): class Cassier_videUI(Button):
def __init__(self, pos_largeur, pos_hauteur,etagereUI): def __init__(self, pos_largeur, pos_hauteur,etagereUI):
Button.__init__(self,etagereUI,text="cassier vide",command=lambda:self.etagereUI.click_add_bouteille(self))
self.pos_largeur = pos_largeur self.pos_largeur = pos_largeur
self.pos_hauteur = pos_hauteur self.pos_hauteur = pos_hauteur
self.etagereUI = etagereUI self.etagereUI = etagereUI
self.boutton=Button(etagereUI.frame,text="cassier vide",command=lambda:self.etagereUI.click_add_bouteille(self)) self.grid(row=self.pos_hauteur,column=self.pos_largeur)
self.boutton.grid(row=self.pos_hauteur,column=self.pos_largeur)
class BouteilleUI(object): class BouteilleUI(Button):
def __init__(self,bouteille,etagereUI): def __init__(self,bouteille,etagereUI):
self.bouteille=bouteille self.bouteille=bouteille
self.etagereUI=etagereUI self.etagereUI=etagereUI
self.boutton=Button(etagereUI.frame,text=self.bouteille,command=lambda:self.etagereUI.click_remove_bouteille(self)) Button.__init__(self,etagereUI,text=self.bouteille,command=lambda:self.etagereUI.click_remove_bouteille(self))
self.boutton["bg"]=self.etagereUI.etageresUI.etageres.couleur[self.bouteille.couleur] self["bg"]=self.etagereUI.etageresUI.etageres.couleur[self.bouteille.couleur]
self.boutton.grid(row=self.bouteille.pos_hauteur,column=self.bouteille.pos_largeur) self.grid(row=self.bouteille.pos_hauteur,column=self.bouteille.pos_largeur)
new = Etageres.load_etageres("cave") #new = Etageres.load_etageres("cave")
#new =Etageres() #new =Etageres()
#new.add_etagere(10, 3) #new.add_etagere(10, 3)
#new.add_etagere(4,4) #new.add_etagere(4,4)