1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   | 
def clic(self, event):  
	"""Fonction qui permet de creer une figure ou de la deplacer si une selection est en cours"""
        if self.selObject:
            # Une sélection est en cours : déplacement
            newposx=event.x
            newposy=event.y
            if self.selObject:
                ListCords = self.canvas.coords(self.selObject)
		print dir(self.selObject)
                ObjType=self.canvas.gettags(self.selObject)[0]
 
                x1=ListCords[0]
                y1=ListCords[1]
                x2=ListCords[2]
                y2=ListCords[3]
 
                if ObjType != 'Triangle':
                    demilargeur=(x2-x1)/2
                    demihauteur=(y2-y1)/2
                    self.canvas.coords(self.selObject, newposx-demilargeur, newposy-demihauteur, newposx+demilargeur, newposy+demihauteur)
                else:
                    x3=ListCords[4]
                    y3=ListCords[5]
                    demilargeur=(x3-x1)/2
                    if y2>y1: # Prise en compte du sommet
                        demihauteur=(y2-y1)/2
                        self.canvas.coords(self.selObject, newposx-demilargeur, newposy-demihauteur, newposx, newposy+demihauteur, newposx+demilargeur, newposy-demihauteur)
                    else:
                        demihauteur=(y1-y2)/2
                        self.canvas.coords(self.selObject, newposx-demilargeur, newposy+demihauteur, newposx, newposy-demihauteur, newposx+demilargeur, newposy+demihauteur)
            self.clearscreen()
        else:
            # Création d'une nouvelle fig
            self.clearscreen()
            self.x1=event.x
            self.y1=event.y
            if self.fig.get() == "Cercle":
                self.item=self.canvas.create_oval(self.x1, self.y1, self.x1, self.y1, fill="black", tag='Cercle')
            elif self.fig.get() == "Carre":
                self.item=self.canvas.create_rectangle(self.x1, self.y1, self.x1, self.y1, fill="black", tag='Carre')
            elif self.fig.get() == "Triangle":
                self.item=self.canvas.create_polygon(self.x1, self.y1, self.x1, self.y1, self.x1, self.y1, tag='Triangle') | 
Partager