def callbackPos(self, event): if self.pos[0] == [0, 0]: self.pos[0][0] = event.x self.pos[0][1] = event.y else: self.pos[1][0] = event.x self.pos[1][1] = event.y if self.activeFigura == 1: self.pantalla.create_rectangle(self.pos[0][0],self.pos[0][1],self.pos[1][0],self.pos[1][1],\ fill=self.backgroundcolor,outline=self.activecolor) if self.activeFigura == 2: self.pantalla.create_oval(self.pos[0][0],self.pos[0][1],self.pos[1][0],self.pos[1][1],\ fill=self.backgroundcolor,outline=self.activecolor) if self.activeFigura == 3: self.pantalla.create_line(self.pos[0][0],self.pos[0][1],self.pos[1][0],self.pos[1][1],\ fill=self.backgroundcolor,width=self.grosorHerramienta) if self.activeFigura == 5: a = pyv("Crear arco", DATAICONS + "arc.ico", "arco", (260, 115)) self.messageUser.config( text="Ingrese los grados de su arco, 0 para cancelar") a.root.mainloop(1) if a.value > 0: self.pantalla.create_arc(self.pos[0][0],self.pos[0][1],self.pos[1][0],self.pos[1][1],\ fill=self.backgroundcolor,outline=self.activecolor, extent=a.value) self.dibujado = True self.pantalla.bind("<ButtonPress-1>", self.breakpoint) self.herramienta(self.activeherramienta) self.pos = [[0, 0], [0, 0]] self.messageUser.config(text="")
def cambiarGrosorHerramienta(self): a = pyv("Grosor Herramienta", DATAICONS + "grosor.ico", "grosor", (260, 450)) a.root.mainloop(1) if a.value != 0: self.grosorHerramienta = a.value self.infogrosorlapiz.config(text=str(a.value))
def salir(self, i="null"): if self.dibujado: resp = pyv("Guardar", DATAICONS + "alert.ico", "deseaGuardar", (250, 80)) resp.root.mainloop(1) if resp.value != 0: if resp.value: self.guardarImagen() self.main.destroy()
def crearTexto(self, event): txt = pyv("Ingresar un texto", DATAICONS + "text.ico", "insertartexto", (250, 110)) txt.root.mainloop(1) self.messageUser.config(text="") self.pantalla.create_text(event.x, event.y, text=txt.value, font="Arial") self.pantalla.bind("<ButtonPress-1>", self.breakpoint) self.dibujado = True
def guardarImagen(self, i="null"): if self.dibujado: self.pantalla.update() txt = pyv("Guardar", DATAICONS + "save.ico", "guardar", (250, 110)) txt.root.mainloop(1) if txt.value != 0: self.pantalla.postscript(file=DATASAVES + str(txt.value) + DEFAULT_EXTENSION) self.dibujado = False else: self.pantalla.postscript(file=DATASAVES + DEFAULT_TITLE + DEFAULT_EXTENSION) self.dibujado = False
def cambiarColor(self, herramienta): a = pyv("Cambiar color", DATAICONS + "color.ico", "cambiarcolor", (280, 440)) a.root.mainloop(1) if a.value != 0: if herramienta == "activo": self.activecolor = a.value self.infoactivedcolor.config(bg=self.activecolor) if herramienta == "goma": self.colorgoma = a.value self.infoactivedcolorgoma.config(bg=self.colorgoma) if herramienta == "fondo": self.backgroundcolor = a.value self.infoactivedbackgroundcolor.config(bg=self.backgroundcolor)
def nuevaImagen(self, i="null"): if self.dibujado: resp = pyv("Guardar", DATAICONS + "alert.ico", "deseaGuardar", (250, 80)) resp.root.mainloop(1) if resp.value != 0: if resp.value: self.guardarImagen() self.messageUser.config(text="") self.pantalla.create_rectangle(0, 0, 2 * PROGRAMSIZE[0], 2 * PROGRAMSIZE[1], fill=DEFAULT_FONDO) self.dibujado = False
def cambiarEstiloHerramienta(self): a = pyv("Estilo de la Herramienta",DATAICONS+\ "estilo.ico","estilo",(260,210),[self.estiloHerramienta[0],self.estiloHerramienta[1],\ self.estiloHerramienta[2],self.estiloHerramienta[3],\ self.estiloHerramienta[4],[DEFAULT_ESTILO_HERRAMIENTA[0],\ DEFAULT_ESTILO_HERRAMIENTA[1],\ DEFAULT_ESTILO_HERRAMIENTA[2],\ DEFAULT_ESTILO_HERRAMIENTA[3],\ DEFAULT_ESTILO_HERRAMIENTA[4]]]) a.root.mainloop(1) self.estiloHerramienta[0] = a.estiloValues[0] self.estiloHerramienta[1] = a.estiloValues[1] self.estiloHerramienta[2] = a.estiloValues[2] self.estiloHerramienta[3] = a.estiloValues[3] self.estiloHerramienta[4] = a.estiloValues[4]
def licence(self): a = pyv("Licencia GNU [English]", DATAICONS + "gnu.ico", "licence", (600, 400), [PROGRAMTITLE, DATADOCS + "GNU.TXT"]) a.root.mainloop(0)
def changelog(self): a = pyv("Changelog", DATAICONS + "changelog.ico", "changelog", (600, 400), [PROGRAMTITLE, DATADOCS + "CHANGELOG.TXT"]) a.root.mainloop(0)
def acercade(self, i="null"): a = pyv("Acerca de " + PROGRAMTITLE, DATAICONS + "coloricon.ico", "about", (220, 120), [AUTOR, VERSION[0], AUTORMAIL]) a.root.mainloop(0)
def ayuda(self, i="null"): a = pyv("Ayuda", DATAICONS + "help.ico", "ayuda", (600, 400), [PROGRAMTITLE, DATADOCS + "AYUDA.TXT"]) a.root.mainloop(0)
def crearFigura(self, figura): if figura == "cuadrado": self.pantalla.bind("<ButtonPress-1>", self.callbackPos) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.activeFigura = 1 self.messageUser.config( text= "Haga click en dos puntos del dibujo para crear un cuadrado") if figura == "ovalo": self.pantalla.bind("<ButtonPress-1>", self.callbackPos) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.activeFigura = 2 self.messageUser.config( text="Haga click en dos puntos del dibujo para crear un ovalo") if figura == "recta": self.pantalla.bind("<ButtonPress-1>", self.callbackPos) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.messageUser.config( text="Haga click en dos puntos del dibujo para crear una recta" ) self.activeFigura = 3 if figura == "texto": self.pantalla.bind("<ButtonPress-1>", self.crearTexto) self.messageUser.config( text="Haga click en el dibujo para poner su texto") if figura == "arco": self.pantalla.bind("<ButtonPress-1>", self.callbackPos) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.activeFigura = 5 self.messageUser.config( text= "Haga click en dos puntos del dibujo para definir los limites de su arco" ) if figura == "imagen": self.messageUser.config(text="Ingrese la ubicacion de su imagen") file = askopenfilename(title="Abrir", initialdir="C:/", defaultextension=".gif", filetypes=[("GIF", ".gif")]) self.messageUser.config(text="") if file != "" and (file[len(file) - 4:len(file)] == ".gif" or file[len(file) - 4:len(file)] == ".GIF"): self.mainArchive = file self.pantalla.bind("<ButtonPress-1>", self.insertarImagen) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.messageUser.config( text= "Haga click en un punto del dibujo para insertar su imagen, ESC para terminar" ) self.main.bind("<Escape>", self.terminarImagen) if figura == "poligono": a = pyv("Numero de aristas", DATAICONS + "shaperound.ico", "vertices", (260, 115)) self.messageUser.config( text= "Ingrese el numero de aristas que tendra su nueva figura, 0 para cancelar" ) a.root.mainloop(1) self.activeFigura = 4 self.vertices = a.value if self.vertices > 0: self.pantalla.bind("<ButtonPress-1>", self.crearPoligono) self.pantalla.bind("<B1-Motion>", self.breakpoint) self.messageUser.config( text= "Haga click en la pantalla para definir los vertices de su figura, " + str(self.vertices) + " restantes") else: self.messageUser.config(text="")
def menuInsertarFigura(self, E=False): a = pyv("Insertar Figura", DATAICONS + "shaperound.ico", "insertarfigura", (260, 230)) a.root.mainloop(1) self.crearFigura(a.value)