コード例 #1
0
ファイル: main.py プロジェクト: xiumeteo/Gaston
class Interfaz(object):

    def cerrar(self, widget, data=None):
        gtk.main_quit()

    def __init__(self):
        self.dialogo = gtk.Dialog("Hola Mundo")
        self.aviso = Aviso()
        self.i = -1
        self.ventana = gtk.Window()
        self.submit = gtk.Button ("Procesar")
        self._nombre = gtk.Label("Nombre:")
        self._precio = gtk.Label("Precio")
        self._fecha = gtk.Label("Fecha")
        self._tag = gtk.Label("Tag")
        self.nombre = gtk.Entry()
        self.precio = gtk.Entry()
        self.fecha = Calendario()
        self.tag = gtk.Entry()
        self.box = gtk.VBox()

    def mostrar(self):

        self.conectar_con_change()
        self._nombre.show()
        self.ventana.set_title("Cuanto gastas")
        self.box.pack_start(self._nombre, True, True, 5)
        self.nombre.show()
        self.box.pack_start(self.nombre, True, True, 5)
        
        self._precio.show()
        self.box.pack_start(self._precio, True, True, 5)
        self.precio.show()
        self.box.pack_start(self.precio, True, True, 5)
        
        self._fecha.show()
        self.box.pack_start(self._fecha, True, True, 5)
        self.fecha.show()
        self.box.pack_start(self.fecha, True, True, 5)

        self._tag.show()
        self.box.pack_start(self._tag, True, True, 5)
        self.tag.show()
        self.box.pack_start(self.tag, True, True, 5)

        self.submit.connect("clicked", self.__enviar_datos)
        self.submit.show()
        self.box.pack_start(self.submit, True, True, 5)
        self.aviso.set_text("Listo!")
        self.aviso.show()
        self.box.pack_start(self.aviso, True, True, 5)
        self.box.show()
        self.ventana.connect("delete_event", self.cerrar)

        self.ventana.add(self.box)
        self.ventana.show()

    def __enviar_datos(self, widget):
        self.aviso.stand()
        com = "'"

        #dir = os.getcwd()
        #direc = dir + '/database_gastos.dat'
        
        #print direc
        nombre = com+self.nombre.get_text()+com
        
        #c = com+self.fecha.get_text()+com
        tag = com+self.tag.get_text()+com
        
        self.db = dbapi.connect(db_produccion)
        indexador = self.db.cursor()

        indexador.execute("select max(id) from gasto_nuevo")
        for result in indexador:
            self.i = result
            

        for x in self.i:
            if x == None:
                self.i = -1
                break
            self.i = x

        if self.i >= -1 :
            self.i += 1

        d= self.fecha.ver_dia()
        m = self.fecha.ver_mes()
        a = self.fecha.ver_anio()
        
        sql = "insert into gasto_nuevo values("+str(self.i)+','+nombre+','+self.precio.get_text()+','+a+','+m+','+d+','+tag+')'
        #print sql
        self.i+=1
        indexador.execute(sql)
        self.db.commit()
        #self.dialogo.add_button("Hola Mundo")
        #self.dialogo.run()
        self.aviso.hecho(sql)
        self.en_blanco()

    def en_blanco(self):
        self.nombre.set_text("")
        self.precio.set_text("")
        self.tag.set_text("")

    def change_aviso(self, widget, data = None):
        self.aviso.stand()

    def conectar_con_change(self):
        self.nombre.connect("activate", self.change_aviso)