Para la interfaz grafica utilizamos un binding de wxWidgets para Python llamado wxPython. http://www.wxpython.org
Para empezar importamos wxPython→ import wx
Creamos una clase:
class Example(wx.Frame):
def init(self, parent, title):
super(Example, self).init(parent, title=title, size=(250, 200))
self.Show()
Esta clase crea una ventana, el parametro parent se usa si el widget va a estar dentro de otro.
El parametro title es el titulo que va a tener la ventana.
if name == 'main':
app = wx.App()
Example(None, title='Size')
app.MainLoop()
Este es el main que va a tener cualquier aplicacion que hagamos con wxPython, junto con la linea que inicializa la ventana Example.
Lo importante saber en wxPython son los metodos y caracteristicas de cada Widget.
En el ejemplo anterior, dentro de la clase Example podemos hacer lo siguiente:
self.Centre()
Y esto va a a centrar la ventana en la pantalla, porque .Centre es una funcion definida de wxFrame.
De igual forma si tenemos, por ejemplo:
self.Boton = wx.Button(pnl, label='Close', pos=(20, 30))
Podemos hacer:
''self.Boton.SetLabel(“Boton!”)
Para la simplicidad de la creacion y diseno del programa se utiliza un GUI Designer.
En nuestro caso utilizamos wxGlade
Las secciones init() inicializan la ventana o dialogo
Las secciones set_properties() asignan propiedades a los diferentes widgets dentro de la ventana
Las secciones do_layout() 'acomodan' los widgets dentro de la ventana
#!/usr/bin/env python # -*- coding: UTF-8 -*- # # generated by wxGlade 0.6.7+ on Tue Jun 25 17:18:25 2013 # import wx import wx.grid import utilities import system_config import marco import time import sys import os import datetime import inventario import addproducts # begin wxGlade: dependencies import gettext # end wxGlade # begin wxGlade: extracode # end wxGlade class f_mailsdet(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: f_mailsdet.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.l_md = wx.StaticText(self, wx.ID_ANY, _("Lista de Correos")) self.listc_md = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_REPORT | wx.SUNKEN_BORDER) self.b_md = wx.Button(self, wx.ID_ANY, _("Ok")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_md) # end wxGlade self.listc_md.InsertColumn(0, 'Correo', width=200) self.listc_md.InsertColumn(1, 'Nombre', width=125) self.listc_md.InsertColumn(2, 'Apellido', width=125) def __set_properties(self): # begin wxGlade: f_mailsdet.__set_properties self.SetTitle(_("Detalles de Correos")) self.SetSize((490, 408)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_md.SetForegroundColour(wx.Colour(192, 192, 192)) # end wxGlade def __do_layout(self): # begin wxGlade: f_mailsdet.__do_layout sizer_21 = wx.BoxSizer(wx.VERTICAL) sizer_22 = wx.BoxSizer(wx.VERTICAL) sizer_22.Add(self.l_md, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 10) sizer_22.Add(self.listc_md, 1, wx.EXPAND, 0) sizer_22.Add(self.b_md, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 15) sizer_21.Add(sizer_22, 1, wx.EXPAND, 0) self.SetSizer(sizer_21) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: f_mailsdet.<event_handler> self.Show(0) f_mails.Show() # end of class f_mailsdet class f_inventario(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: f_inventario.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.label_7 = wx.StaticText(self, wx.ID_ANY, _("Inventario")) self.lb_inv = wx.ListBox(self, wx.ID_ANY, choices=[]) #elf.b_1 = wx.Button(self, wx.ID_ANY, _("b_1")) #self.b_2 = wx.Button(self, wx.ID_ANY, _("b_2")) #self.b_3 = wx.Button(self, wx.ID_ANY, _("b_3")) #self.b_4 = wx.Button(self, wx.ID_ANY, _("b_4")) self.b_ok = wx.Button(self, wx.ID_ANY, _("Ok")) self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.__set_properties() self.__do_layout() # end wxGlade inv = inventario.inventario() self.lb_inv.InsertItems(inv, 0) def __set_properties(self): # begin wxGlade: f_inventario.__set_properties self.SetTitle(_("Control de Inventario")) self.SetSize((748, 532)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.label_7.SetForegroundColour(wx.Colour(192, 192, 192)) self.lb_inv.SetMinSize((700, 400)) # end wxGlade def __do_layout(self): # begin wxGlade: f_inventario.__do_layout sizer_20 = wx.BoxSizer(wx.VERTICAL) grid_sizer_25 = wx.FlexGridSizer(3, 1, 0, 0) grid_sizer_27 = wx.GridSizer(1, 2, 0, 0) grid_sizer_26 = wx.GridSizer(1, 4, 0, 0) sizer_20.Add(self.label_7, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) grid_sizer_25.Add(self.lb_inv, 0, 0, 0) #grid_sizer_26.Add(self.b_1, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10) #grid_sizer_26.Add(self.b_2, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10) #grid_sizer_26.Add(self.b_3, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10) #grid_sizer_26.Add(self.b_4, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10) grid_sizer_25.Add(grid_sizer_26, 1, wx.EXPAND, 0) grid_sizer_27.Add(self.b_ok, 0, wx.LEFT | wx.TOP | wx.BOTTOM | wx.ALIGN_RIGHT, 15) grid_sizer_25.Add(grid_sizer_27, 1, wx.LEFT | wx.EXPAND, 75) sizer_20.Add(grid_sizer_25, 1, wx.EXPAND, 0) self.SetSizer(sizer_20) self.Layout() self.Centre() # end wxGlade def evt_ok(self,event): self.Show(0) frame1.Show() def update_inventario(self): count = (self.lb_inv).GetCount() i = count while i>=0 : (self.lb_inv).Delete(i) i=i-1 inv = inventario.inventario() (self.lb_inv).InsertItems(inv,0) # end of class f_inventario class d_changepass(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: d_changepass.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_cpass = wx.StaticText(self, wx.ID_ANY, _("Escoja una nueva password")) self.l_id = wx.StaticText(self, wx.ID_ANY, _("ID")) self.textc_id = wx.TextCtrl(self, wx.ID_ANY, "") self.l_pass = wx.StaticText(self, wx.ID_ANY, _("New Pass:")) self.textc_pass = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_PASSWORD) self.b_ok = wx.Button(self, wx.ID_ANY, _("Aceptar")) self.b_canc = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_canc) # end wxGlade def __set_properties(self): # begin wxGlade: d_changepass.__set_properties self.SetTitle(_("Cambiar password")) self.SetSize((388, 222)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_cpass.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_id.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_id.SetMinSize((100, 33)) self.l_pass.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_pass.SetMinSize((100, 33)) # end wxGlade def __do_layout(self): # begin wxGlade: d_changepass.__do_layout sizer_18 = wx.BoxSizer(wx.VERTICAL) grid_sizer_24 = wx.GridSizer(3, 2, 0, 0) sizer_18.Add(self.l_cpass, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 10) grid_sizer_24.Add(self.l_id, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 15) grid_sizer_24.Add(self.textc_id, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_24.Add(self.l_pass, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 15) grid_sizer_24.Add(self.textc_pass, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_24.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_24.Add(self.b_canc, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_18.Add(grid_sizer_24, 1, wx.EXPAND, 0) self.SetSizer(sizer_18) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: d_changepass.<event_handler> idd = self.textc_id.GetValue() passw = self.textc_pass.GetValue() system_config.change_pass(idd, passw) self.Destroy() def evt_canc(self, event): # wxGlade: d_changepass.<event_handler> self.Destroy() # end of class d_changepass class d_adduser(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: d_adduser.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_addmail = wx.StaticText(self, wx.ID_ANY, _("Usuario Nuevo")) self.l_1 = wx.StaticText(self, wx.ID_ANY, _("ID")) self.textc_id = wx.TextCtrl(self, wx.ID_ANY, "") self.l_2 = wx.StaticText(self, wx.ID_ANY, _("Nombre")) self.textc_name = wx.TextCtrl(self, wx.ID_ANY, "") self.l_3 = wx.StaticText(self, wx.ID_ANY, _("Apellido")) self.textc_last = wx.TextCtrl(self, wx.ID_ANY, "") self.l_4 = wx.StaticText(self, wx.ID_ANY, _("Puesto")) self.textc_job = wx.TextCtrl(self, wx.ID_ANY, "") self.l_5 = wx.StaticText(self, wx.ID_ANY, _("Privilegio")) self.textc_priv = wx.TextCtrl(self, wx.ID_ANY, "") self.l_6 = wx.StaticText(self, wx.ID_ANY, _("Password")) self.textc_pass = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_PASSWORD) self.b_ok = wx.Button(self, wx.ID_ANY, _("Aceptar")) self.b_cancel = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_cancel) # end wxGlade def __set_properties(self): # begin wxGlade: d_adduser.__set_properties self.SetTitle(_("Agregar Usuario")) self.SetSize((350, 427)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_addmail.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_1.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_2.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_3.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_4.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_5.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_6.SetForegroundColour(wx.Colour(192, 192, 192)) # end wxGlade def __do_layout(self): # begin wxGlade: d_adduser.__do_layout sizer_17 = wx.BoxSizer(wx.VERTICAL) grid_sizer_23 = wx.GridSizer(7, 2, 0, 0) sizer_17.Add(self.l_addmail, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) grid_sizer_23.Add(self.l_1, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_id, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.l_2, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_name, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.l_3, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_last, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.l_4, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_job, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.l_5, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_priv, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.l_6, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_23.Add(self.textc_pass, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_23.Add(self.b_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_17.Add(grid_sizer_23, 1, wx.EXPAND, 0) self.SetSizer(sizer_17) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: d_adduser.<event_handler> idd = self.textc_id.GetValue() name = self.textc_name.GetValue() last = self.textc_last.GetValue() job = self.textc_job.GetValue() priv = self.textc_priv.GetValue() passw = self.textc_pass.GetValue() system_config.add_user(idd, name, last, job, priv, passw) f_users.update_grid() self.Destroy() def evt_canc(self, event): # wxGlade: d_adduser.<event_handler> self.Destroy() # end of class d_adduser class d_delmail(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: d_delmail.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_delmail = wx.StaticText(self, wx.ID_ANY, "") self.textc_mail = wx.TextCtrl(self, wx.ID_ANY, "") self.b_ok = wx.Button(self, wx.ID_ANY, _("Aceptar")) self.b_canc = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_canc) # end wxGlade def __set_properties(self): # begin wxGlade: d_delmail.__set_properties self.SetTitle(_("Eliminar")) self.SetSize((350, 200)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_delmail.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_mail.SetMinSize((200, 33)) # end wxGlade def __do_layout(self): # begin wxGlade: d_delmail.__do_layout grid_sizer_21 = wx.GridSizer(3, 1, 0, 0) grid_sizer_22 = wx.GridSizer(1, 2, 0, 0) grid_sizer_21.Add(self.l_delmail, 0, wx.BOTTOM | wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 25) grid_sizer_21.Add(self.textc_mail, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) grid_sizer_22.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) grid_sizer_22.Add(self.b_canc, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) grid_sizer_21.Add(grid_sizer_22, 1, wx.EXPAND, 0) self.SetSizer(grid_sizer_21) self.Layout() self.Centre() # end wxGlade def setlabel(self, l): self.l_delmail.SetLabel(l) def setoption(self, i): self.ii = i def evt_ok(self, event): # wxGlade: d_delmail.<event_handler> entry = self.textc_mail.GetValue() if self.ii==1: system_config.del_mail(entry) f_mails.update_grid() elif self.ii==0: system_config.del_user(entry) f_users.update_grid() self.Destroy() def evt_canc(self, event): # wxGlade: d_delmail.<event_handler> self.Destroy() # end of class d_delmail class MyDialog6(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog6.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_addmail = wx.StaticText(self, wx.ID_ANY, _("Agregar Correo")) self.l_mail = wx.StaticText(self, wx.ID_ANY, _("Correo:")) self.textc_mail = wx.TextCtrl(self, wx.ID_ANY, "") self.l_name = wx.StaticText(self, wx.ID_ANY, _("Nombre:")) self.textc_name = wx.TextCtrl(self, wx.ID_ANY, "") self.label_6 = wx.StaticText(self, wx.ID_ANY, _("Apellido:")) self.textc_last = wx.TextCtrl(self, wx.ID_ANY, "") self.b_ok = wx.Button(self, wx.ID_ANY, _("Aceptar")) self.b_cancel = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_cancel) # end wxGlade def __set_properties(self): # begin wxGlade: MyDialog6.__set_properties self.SetTitle(_("Agregar Correo")) self.SetSize((400, 300)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_addmail.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_mail.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_mail.SetMinSize((160, 33)) self.l_name.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_name.SetMinSize((120, 33)) self.label_6.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_last.SetMinSize((120, 33)) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog6.__do_layout sizer_13 = wx.BoxSizer(wx.VERTICAL) grid_sizer_20 = wx.GridSizer(4, 2, 0, 0) sizer_13.Add(self.l_addmail, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 5) grid_sizer_20.Add(self.l_mail, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 15) grid_sizer_20.Add(self.textc_mail, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_20.Add(self.l_name, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 15) grid_sizer_20.Add(self.textc_name, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_20.Add(self.label_6, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 15) grid_sizer_20.Add(self.textc_last, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_20.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_20.Add(self.b_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_13.Add(grid_sizer_20, 1, wx.EXPAND, 0) self.SetSizer(sizer_13) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: MyDialog6.<event_handler> mail = self.textc_mail.GetValue() name = self.textc_name.GetValue() last = self.textc_last.GetValue() system_config.add_mail(mail, name, last) f_mails.update_grid() self.Destroy() def evt_canc(self, event): # wxGlade: MyDialog6.<event_handler> self.Destroy() # end of class MyDialog6 class MyDialog5(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog5.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_wp = wx.StaticText(self, wx.ID_ANY, _("El usuario y/o contrasena que inserto son incorrectos")) self.b_ok = wx.Button(self, wx.ID_ANY, _("OK")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) # end wxGlade def __set_properties(self): # begin wxGlade: MyDialog5.__set_properties self.SetTitle(_("Error")) self.SetSize((478, 113)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_wp.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_wp.SetFont(wx.Font(13, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog5.__do_layout grid_sizer_18 = wx.GridSizer(2, 1, 0, 0) grid_sizer_18.Add(self.l_wp, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_18.Add(self.b_ok, 0, wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 15) self.SetSizer(grid_sizer_18) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: MyDialog5.<event_handler> self.Destroy() Login.Show() Login.textc_user.SetValue("") Login.textc_pass.SetValue("") # end of class MyDialog5 class MyDialog4(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog4.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_confirmar1 = wx.StaticText(self, wx.ID_ANY, "") self.l_confirmar2 = wx.StaticText(self, wx.ID_ANY, "") self.b_yes = wx.Button(self, wx.ID_ANY, _("Si")) self.b_no = wx.Button(self, wx.ID_ANY, _("No")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_yes, self.b_yes) self.Bind(wx.EVT_BUTTON, self.evt_no, self.b_no) # end wxGlade def __set_properties(self): # begin wxGlade: MyDialog4.__set_properties self.SetTitle(_("Confirmar")) self.SetSize((450, 191)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_confirmar1.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_confirmar1.SetFont(wx.Font(13, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) self.l_confirmar2.SetForegroundColour(wx.Colour(192, 192, 192)) self.l_confirmar2.SetFont(wx.Font(13, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog4.__do_layout grid_sizer_16 = wx.GridSizer(2, 1, 0, 0) grid_sizer_17 = wx.GridSizer(1, 2, 0, 0) sizer_11 = wx.BoxSizer(wx.HORIZONTAL) sizer_11.Add(self.l_confirmar1, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 10) sizer_11.Add(self.l_confirmar2, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_16.Add(sizer_11, 1, wx.EXPAND, 0) grid_sizer_17.Add(self.b_yes, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_17.Add(self.b_no, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_16.Add(grid_sizer_17, 1, wx.EXPAND, 0) self.SetSizer(grid_sizer_16) self.Layout() self.Centre() # end wxGlade def setlabel(self, l): self.l_confirmar2.SetLabel(l) def setlabel2(self,l): self.l_confirmar1.SetLabel(l) def evt_yes(self, event): # wxGlade: MyDialog4.<event_handler> self.Destroy() f_scuenta.Show() def evt_no(self, event): # wxGlade: MyDialog4.<event_handler> self.Destroy() f_scuenta.Show() # end of class MyDialog4 class MyDialog3(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog3.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.l_quick = wx.StaticText(self, wx.ID_ANY, _("VENTA RAPIDA")) self.lb_quick = wx.ListBox(self, wx.ID_ANY, choices=[]) self.spin_ctrl_3 = wx.SpinCtrl(self, wx.ID_ANY, "1", min=0, max=100) self.b_ok = wx.Button(self, wx.ID_ANY, _("Ok")) self.b_canc = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_canc) # end wxGlade lista = inventario.venta_rapida() self.lb_quick.InsertItems(lista, 0) def __set_properties(self): # begin wxGlade: MyDialog3.__set_properties self.SetTitle(_("Venta Rapida")) self.SetSize((400, 350)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_quick.SetForegroundColour(wx.Colour(192, 192, 192)) self.lb_quick.SetMinSize((150, 200)) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog3.__do_layout sizer_12 = wx.BoxSizer(wx.HORIZONTAL) sizer_14 = wx.BoxSizer(wx.VERTICAL) sizer_15 = wx.BoxSizer(wx.HORIZONTAL) sizer_16 = wx.BoxSizer(wx.HORIZONTAL) sizer_14.Add(self.l_quick, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 20) sizer_16.Add(self.lb_quick, 0, wx.LEFT | wx.TOP, 40) sizer_16.Add(self.spin_ctrl_3, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 25) sizer_14.Add(sizer_16, 1, wx.EXPAND, 0) sizer_15.Add(self.b_ok, 0, wx.LEFT | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 85) sizer_15.Add(self.b_canc, 0, wx.LEFT | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 85) sizer_14.Add(sizer_15, 1, wx.EXPAND, 0) sizer_12.Add(sizer_14, 1, wx.EXPAND, 0) self.SetSizer(sizer_12) self.Layout() self.Centre() # end wxGlade def evt_ok(self, event): # wxGlade: MyDialog3.<event_handler> print self.lb_quick.GetSelection() self.Destroy() def evt_canc(self, event): # wxGlade: MyDialog3.<event_handler> self.Destroy() # end of class MyDialog3 class MyFrame9(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame9.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.l_cuentas = wx.StaticText(self, wx.ID_ANY, _("Cuentas")) self.list_cuentas = wx.ListBox(self, wx.ID_ANY, choices=[]) self.b_cancelar = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_LISTBOX_DCLICK, self.evt_dclick, self.list_cuentas) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_cancelar) # end wxGlade self.index=0 def __set_properties(self): # begin wxGlade: MyFrame9.__set_properties self.SetTitle(_("Seleccione una Cuenta")) self.SetSize((400, 315)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.l_cuentas.SetForegroundColour(wx.Colour(192, 192, 192)) self.list_cuentas.SetMinSize((200, 200)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame9.__do_layout sizer_10 = wx.BoxSizer(wx.VERTICAL) sizer_10.Add(self.l_cuentas, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10) sizer_10.Add(self.list_cuentas, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_10.Add(self.b_cancelar, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10) self.SetSizer(sizer_10) self.Layout() self.Centre() # end wxGlade def evt_canc(self, event): # wxGlade: MyFrame9.<event_handler> self.Show(0) framepos.Show() def evt_dclick(self, event): # wxGlade: MyFrame9.<event_handler> self.Show(0) l=event.GetString() if self.index==1: f_crear.Show() f_crear.set_label_c2(l) elif self.index==2: dia = MyDialog4(None, wx.ID_ANY, "") dia.setlabel(l) dia.setlabel2("Confirmar impresion de cuenta:") dia.Show() elif self.index==3: dia = MyDialog4(None, wx.ID_ANY, "") dia.setlabel(l) dia.setlabel2("Confirmar pago de cuenta:") dia.Show() def update(self, lista): count = (self.list_cuentas).GetCount() i = count while i>=0 : (self.list_cuentas).Delete(i) i=i-1 (self.list_cuentas).InsertItems(lista,0) def option(self, i): self.index = i # end of class MyFrame9 class MyFrame8(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame8.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.b_bocas = wx.Button(self, wx.ID_ANY, _("Bocas Pequenas")) self.b_mariscos = wx.Button(self, wx.ID_ANY, _("Mariscos")) self.b_res = wx.Button(self, wx.ID_ANY, _("Res y Cerdo")) self.b_pollo = wx.Button(self, wx.ID_ANY, _("Pollo")) self.b_arroz = wx.Button(self, wx.ID_ANY, _("Arroces/Otros")) self.b_salir = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_bocas, self.b_bocas) self.Bind(wx.EVT_BUTTON, self.evt_mariscos, self.b_mariscos) self.Bind(wx.EVT_BUTTON, self.evt_res, self.b_res) self.Bind(wx.EVT_BUTTON, self.evt_pollo, self.b_pollo) self.Bind(wx.EVT_BUTTON, self.evt_arroz, self.b_arroz) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame8.__set_properties self.SetTitle(_("frame_1")) self.SetSize((232, 419)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.b_bocas.SetMinSize((119, 33)) self.b_mariscos.SetMinSize((119, 33)) self.b_res.SetMinSize((119, 33)) self.b_pollo.SetMinSize((119, 33)) self.b_arroz.SetMinSize((119, 33)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame8.__do_layout grid_sizer_19 = wx.GridSizer(6, 1, 0, 0) grid_sizer_19.Add(self.b_bocas, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_19.Add(self.b_mariscos, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_19.Add(self.b_res, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_19.Add(self.b_pollo, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_19.Add(self.b_arroz, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_19.Add(self.b_salir, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) self.SetSizer(grid_sizer_19) self.Layout() self.Centre() # end wxGlade def evt_bocas(self, event): # wxGlade: MyFrame8.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Bocas") dia.set_lista(["...."]) dia.Show() self.Show(0) def evt_mariscos(self, event): # wxGlade: MyFrame8.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Mariscos") dia.set_lista(["...."]) dia.Show() self.Show(0) def evt_res(self, event): # wxGlade: MyFrame8.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Res y Cerdo") dia.set_lista(["...."]) dia.Show() self.Show(0) def evt_pollo(self, event): # wxGlade: MyFrame8.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Pollo") dia.set_lista(["...."]) dia.Show() self.Show(0) def evt_arroz(self, event): # wxGlade: MyFrame8.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Arroces y Otras") dia.set_lista(["...."]) dia.Show() self.Show(0) def evt_salir(self, event): # wxGlade: MyFrame8.<event_handler> self.Show(0) f_crear.Show() # end of class MyFrame8 class MyDialog2(wx.Dialog): def __init__(self, *args, **kwds): # Content of this block not found. Did you rename this class? pass def __set_properties(self): # Content of this block not found. Did you rename this class? pass def __do_layout(self): # Content of this block not found. Did you rename this class? pass def evt_ok(self, event): # wxGlade: MyDialog2.<event_handler> print "Event handler 'evt_ok' not implemented!" event.Skip() def evt_canc(self, event): # wxGlade: MyDialog2.<event_handler> print "Event handler 'evt_canc' not implemented!" event.Skip() # end of class MyDialog2 class MyDialog(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.spin_ctrl_1 = wx.SpinCtrl(self, wx.ID_ANY, "", min=0, max=100) self.b_ok = wx.Button(self, wx.ID_ANY, _("OK")) self.b_cancel = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.list_prods = wx.ListBox(self, wx.ID_ANY, choices=[]) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt_canc, self.b_cancel) self.Bind(wx.EVT_LISTBOX_DCLICK, self.evt_dclick, self.list_prods) # end wxGlade def __set_properties(self): # begin wxGlade: MyDialog.__set_properties self.SetSize((432, 299)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.b_ok.SetBackgroundColour(wx.Colour(237, 237, 237)) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog.__do_layout grid_sizer_13 = wx.GridSizer(1, 2, 0, 0) grid_sizer_14 = wx.GridSizer(2, 1, 0, 0) grid_sizer_15 = wx.GridSizer(1, 2, 0, 0) grid_sizer_14.Add(self.spin_ctrl_1, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_15.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_15.Add(self.b_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_14.Add(grid_sizer_15, 1, wx.EXPAND, 0) grid_sizer_13.Add(grid_sizer_14, 1, wx.EXPAND, 0) grid_sizer_13.Add(self.list_prods, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) self.SetSizer(grid_sizer_13) self.Layout() # end wxGlade def set_title(self, titulo): self.SetTitle(titulo) def set_lista(self, lista): self.list_prods.InsertItems(lista, 0) def evt_ok(self, event): # wxGlade: MyDialog.<event_handler> self.Destroy() def evt_canc(self, event): # wxGlade: MyDialog.<event_handler> self.Destroy() def set_nombre(self, name): self.nombre = name def evt_dclick(self, event): # wxGlade: MyDialog.<event_handler> name = self.nombre amount = self.spin_ctrl_1.GetValue() i = self.list_prods.GetSelection() addproducts.add_products(name, i, amount) # end of class MyDialog class MyFrame7(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame7.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.__set_properties() self.__do_layout() # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame7.__set_properties self.SetTitle(_("Control")) self.SetSize((400, 300)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame7.__do_layout sizer_6 = wx.BoxSizer(wx.VERTICAL) self.SetSizer(sizer_6) self.Layout() # end wxGlade # end of class MyFrame7 class MyFrame5(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame5.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.b_adduser = wx.Button(self, wx.ID_ANY, _("Agregar Usuario")) self.b_rmuser = wx.Button(self, wx.ID_ANY, _("Eliminar Usuario")) self.b_changepass = wx.Button(self, wx.ID_ANY, _("Cambiar Password")) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.grid_1 = wx.grid.Grid(self, wx.ID_ANY, size=(1, 1)) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_agruser, self.b_adduser) self.Bind(wx.EVT_BUTTON, self.evt_rmuser, self.b_rmuser) self.Bind(wx.EVT_BUTTON, self.evt_chpass, self.b_changepass) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame5.__set_properties self.SetTitle(_("Cuentas de Usuario")) self.SetSize((705, 356)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.grid_1.CreateGrid(10, 4) self.grid_1.SetColLabelValue(0, _("ID")) self.grid_1.SetColLabelValue(1, _("Nombre")) self.grid_1.SetColLabelValue(2, _("Appellido")) self.grid_1.SetColLabelValue(3, _("Job")) # end wxGlade users = system_config.show_basic_users_list() for i in xrange(len(users)): for j in xrange(4): self.grid_1.SetCellValue(i,j,str(users[i][j])) def __do_layout(self): # begin wxGlade: MyFrame5.__do_layout sizer_5 = wx.BoxSizer(wx.VERTICAL) grid_sizer_9 = wx.GridSizer(1, 2, 0, 0) grid_sizer_10 = wx.GridSizer(4, 1, 0, 0) grid_sizer_10.Add(self.b_adduser, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_10.Add(self.b_rmuser, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_10.Add(self.b_changepass, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_10.Add(self.b_salir, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_9.Add(grid_sizer_10, 1, wx.EXPAND, 0) grid_sizer_9.Add(self.grid_1, 1, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_5.Add(grid_sizer_9, 1, wx.EXPAND, 0) self.SetSizer(sizer_5) self.Layout() self.Centre() # end wxGlade def evt_agruser(self, event): # wxGlade: MyFrame5.<event_handler> dia = d_adduser(None, wx.ID_ANY, "") dia.Show() def evt_rmuser(self, event): # wxGlade: MyFrame5.<event_handler> dia = d_delmail(None, wx.ID_ANY, "") dia.setlabel("ID del usuario a eliminar:") dia.setoption(0) dia.Show() def evt_chpass(self, event): # wxGlade: MyFrame5.<event_handler> dia = d_changepass(None, wx.ID_ANY, "") dia.Show() def evt_salir(self, event): # wxGlade: MyFrame5.<event_handler> self.Show(0) f_config.Show() def update_grid(self): self.grid_1.ClearGrid() users = system_config.show_basic_users_list() for i in xrange(len(users)): for j in xrange(4): self.grid_1.SetCellValue(i,j,str(users[i][j])) # end of class MyFrame5 class MyFrame6(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame6.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.b_addmail = wx.Button(self, wx.ID_ANY, _("Agregar Correo")) self.b_rmmail = wx.Button(self, wx.ID_ANY, _("Eliminar Correo")) self.b_det = wx.Button(self, wx.ID_ANY, _("Mostrar Detalles")) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.list_mails = wx.grid.Grid(self, wx.ID_ANY, size=(1, 1)) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_addmail, self.b_addmail) self.Bind(wx.EVT_BUTTON, self.evt_rmmail, self.b_rmmail) self.Bind(wx.EVT_BUTTON, self.evt_det, self.b_det) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame6.__set_properties self.SetTitle(_("Correos")) self.SetSize((563, 350)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.list_mails.CreateGrid(10, 1) self.list_mails.EnableEditing(0) self.list_mails.SetColLabelValue(0, _("Correos")) self.list_mails.SetColSize(0, 230) # end wxGlade mail_list = system_config.show_basic_mail_list() for i in xrange(len(mail_list)): self.list_mails.SetCellValue(i,0,mail_list[i]) def __do_layout(self): # begin wxGlade: MyFrame6.__do_layout grid_sizer_11 = wx.GridSizer(1, 2, 0, 0) grid_sizer_12 = wx.GridSizer(4, 1, 0, 0) grid_sizer_12.Add(self.b_addmail, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_12.Add(self.b_rmmail, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_12.Add(self.b_det, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_12.Add(self.b_salir, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_11.Add(grid_sizer_12, 1, wx.EXPAND, 0) grid_sizer_11.Add(self.list_mails, 1, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) self.SetSizer(grid_sizer_11) self.Layout() self.Centre() # end wxGlade def evt_addmail(self, event): # wxGlade: MyFrame6.<event_handler> dia = MyDialog6(None, wx.ID_ANY, "") dia.Show() def evt_rmmail(self, event): # wxGlade: MyFrame6.<event_handler> dia = d_delmail(None, wx.ID_ANY, "") dia.setlabel("Direccion de correo a eliminar:") dia.setoption(1) dia.Show() def evt_det(self, event): # wxGlade: MyFrame6.<event_handler> f_md.Show() self.Show(0) def evt_salir(self, event): # wxGlade: MyFrame6.<event_handler> self.Show(0) f_config.Show() def update_grid(self): self.list_mails.ClearGrid() mail_list = system_config.show_basic_mail_list() for i in xrange(len(mail_list)): self.list_mails.SetCellValue(i,0,mail_list[i]) # end of class MyFrame6 class MyFrame2(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame2.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.label_1 = wx.StaticText(self, wx.ID_ANY, _("POS")) self.listacuentas = wx.ListBox(self, wx.ID_ANY, choices=[_("Cuenta1"), _("Cuenta2"), "", "", "", "", "", "", "", ""], style=wx.LB_MULTIPLE) self.b_crear = wx.Button(self, wx.ID_ANY, _("Crear Cuenta")) self.b_agr = wx.Button(self, wx.ID_ANY, _("Agregar Productos")) self.b_print = wx.Button(self, wx.ID_ANY, _("Imprimir Cuenta")) self.b_pagar = wx.Button(self, wx.ID_ANY, _("Pagar Cuenta")) self.b_quick = wx.Button(self, wx.ID_ANY, _("Venta Rapida")) self.b_otras = wx.Button(self, wx.ID_ANY, _("Otras")) self.listaprods = wx.ListBox(self, wx.ID_ANY, choices=[]) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_LISTBOX_DCLICK, self.dclick, self.listacuentas) self.Bind(wx.EVT_BUTTON, self.evtcrear, self.b_crear) self.Bind(wx.EVT_BUTTON, self.evt_agr, self.b_agr) self.Bind(wx.EVT_BUTTON, self.evt_print, self.b_print) self.Bind(wx.EVT_BUTTON, self.evt_pay, self.b_pagar) self.Bind(wx.EVT_BUTTON, self.evt_quick, self.b_quick) self.Bind(wx.EVT_BUTTON, self.evt_otras, self.b_otras) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame2.__set_properties self.SetTitle(_("Punto de Ventaa")) self.SetSize((603, 541)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.label_1.SetForegroundColour(wx.Colour(192, 192, 192)) self.listacuentas.SetSelection(7) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame2.__do_layout sizer_3 = wx.BoxSizer(wx.VERTICAL) grid_sizer_3 = wx.GridSizer(1, 3, 0, 0) grid_sizer_4 = wx.GridSizer(5, 1, 0, 0) sizer_3.Add(self.label_1, 0, 0, 0) grid_sizer_3.Add(self.listacuentas, 0, wx.EXPAND, 0) grid_sizer_4.Add(self.b_crear, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_agr, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_print, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_pagar, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_quick, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_otras, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_3.Add(grid_sizer_4, 1, wx.EXPAND, 0) grid_sizer_3.Add(self.listaprods, 0, wx.EXPAND, 0) sizer_3.Add(grid_sizer_3, 1, wx.EXPAND, 0) sizer_3.Add(self.b_salir, 0, wx.RIGHT | wx.TOP | wx.BOTTOM | wx.ALIGN_RIGHT, 5) self.SetSizer(sizer_3) self.Layout() self.Centre() # end wxGlade def dclick(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'dclick' not implemented!" event.Skip() def evtcrear(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evtcrear' not implemented!" event.Skip() def evt_agr(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_agr' not implemented!" event.Skip() def evt_salir(self, event): # wxGlade: MyFrame2.<event_handler> self.Show(0) frame1.Show() def evt_print(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_print' not implemented!" event.Skip() def evt_pay(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_pay' not implemented!" event.Skip() def evt_otras(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_otras' not implemented!" event.Skip() def evt_quick(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_quick' not implemented!" event.Skip() # end of class MyFrame2 class MyFrame4(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame4.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.b_accs = wx.Button(self, wx.ID_ANY, _("Cuentas de Usuario")) self.b_maillist = wx.Button(self, wx.ID_ANY, _("Lista de Correos")) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_accs, self.b_accs) self.Bind(wx.EVT_BUTTON, self.evt_mail, self.b_maillist) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame4.__set_properties self.SetTitle(_("Configuraciones")) self.SetSize((253, 320)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame4.__do_layout sizer_4 = wx.BoxSizer(wx.VERTICAL) grid_sizer_8 = wx.GridSizer(3, 1, 0, 0) grid_sizer_8.Add(self.b_accs, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_8.Add(self.b_maillist, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_8.Add(self.b_salir, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_4.Add(grid_sizer_8, 1, wx.EXPAND, 0) self.SetSizer(sizer_4) self.Layout() self.Centre() # end wxGlade def evt_accs(self, event): # wxGlade: MyFrame4.<event_handler> self.Show(0) f_users.Show() def evt_mail(self, event): # wxGlade: MyFrame4.<event_handler> self.Show(0) f_mails.Show() def evt_salir(self, event): # wxGlade: MyFrame4.<event_handler> self.Show(0) frame1.Show() # end of class MyFrame4 class MyFrame3(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame3.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.b_whisky = wx.Button(self, wx.ID_ANY, _("Whisky")) self.b_ron = wx.Button(self, wx.ID_ANY, _("Ron")) self.b_vg = wx.Button(self, wx.ID_ANY, _("Vodkas / Guaros")) self.b_teq = wx.Button(self, wx.ID_ANY, _("Tequila")) self.b_otros = wx.Button(self, wx.ID_ANY, _("Otros Tragos")) self.b_birras = wx.Button(self, wx.ID_ANY, _("Cervezas")) self.b_bna = wx.Button(self, wx.ID_ANY, _("No-Alcoholicas")) self.b_cigarros = wx.Button(self, wx.ID_ANY, _("Cigarros")) self.b_comida = wx.Button(self, wx.ID_ANY, _("Comida")) self.b_bot = wx.Button(self, wx.ID_ANY, _("Botellas y Cuartas")) self.b_ok = wx.Button(self, wx.ID_ANY, _("OK")) self.b_cancel = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.list_recientes = wx.ListBox(self, wx.ID_ANY, choices=[]) self.l_cuenta1 = wx.StaticText(self, wx.ID_ANY, _("Cuenta:")) self.list_recientes_copy = wx.ListBox(self, wx.ID_ANY, choices=[]) self.l_cuenta2 = wx.StaticText(self, wx.ID_ANY, "") self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.ag_w, self.b_whisky) self.Bind(wx.EVT_BUTTON, self.ag_ron, self.b_ron) self.Bind(wx.EVT_BUTTON, self.ag_vg, self.b_vg) self.Bind(wx.EVT_BUTTON, self.ag_tq, self.b_teq) self.Bind(wx.EVT_BUTTON, self.ag_o, self.b_otros) self.Bind(wx.EVT_BUTTON, self.ag_b, self.b_birras) self.Bind(wx.EVT_BUTTON, self.ag_bna, self.b_bna) self.Bind(wx.EVT_BUTTON, self.ag_cig, self.b_cigarros) self.Bind(wx.EVT_BUTTON, self.ag_c, self.b_comida) self.Bind(wx.EVT_BUTTON, self.ag_bot, self.b_bot) self.Bind(wx.EVT_BUTTON, self.ev_ok, self.b_ok) self.Bind(wx.EVT_BUTTON, self.ev_exit, self.b_cancel) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame3.__set_properties self.SetTitle(_("Agregar Producto")) self.SetSize((617, 592)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.b_whisky.SetMinSize((135, 33)) self.b_ron.SetMinSize((135, 33)) self.b_vg.SetMinSize((135, 33)) self.b_teq.SetMinSize((135, 33)) self.b_otros.SetMinSize((135, 33)) self.b_birras.SetMinSize((135, 33)) self.b_bna.SetMinSize((135, 33)) self.b_cigarros.SetMinSize((135, 33)) self.b_comida.SetMinSize((135, 33)) self.list_recientes.SetMinSize((170, 420)) self.l_cuenta1.SetForegroundColour(wx.Colour(192, 192, 192)) self.list_recientes_copy.SetMinSize((170, 420)) self.l_cuenta2.SetForegroundColour(wx.Colour(192, 192, 192)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame3.__do_layout sizer_8 = wx.BoxSizer(wx.HORIZONTAL) sizer_9 = wx.BoxSizer(wx.VERTICAL) sizer_7 = wx.BoxSizer(wx.VERTICAL) grid_sizer_6 = wx.GridSizer(8, 1, 0, 0) grid_sizer_7 = wx.GridSizer(1, 2, 0, 0) grid_sizer_6.Add(self.b_whisky, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_ron, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_vg, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_teq, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_otros, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_birras, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_bna, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_cigarros, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_comida, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(self.b_bot, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_7.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_7.Add(self.b_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_6.Add(grid_sizer_7, 1, wx.EXPAND, 0) sizer_8.Add(grid_sizer_6, 1, wx.EXPAND, 0) sizer_7.Add(self.list_recientes, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 20) sizer_7.Add(self.l_cuenta1, 0, wx.RIGHT | wx.TOP | wx.ALIGN_RIGHT, 52) sizer_8.Add(sizer_7, 1, wx.EXPAND, 0) sizer_9.Add(self.list_recientes_copy, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 20) sizer_9.Add(self.l_cuenta2, 0, wx.TOP, 50) sizer_8.Add(sizer_9, 1, wx.EXPAND, 0) self.SetSizer(sizer_8) self.Layout() self.Centre() # end wxGlade def ag_w(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_nombre(self.nombre) dia.set_title("Whisky") lista = addproducts.show_families(11) print lista dia.set_lista(lista) dia.Show() #self.list_agregados.InsertItems(["Trago Whisky"],0) def ag_ron(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Ron") dia.set_nombre(self.nombre) lista = addproducts.show_families(21) dia.set_lista(lista) dia.Show() #self.list_agregados.InsertItems(["Trago Ron"],0) def ag_vg(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Vodka y Guaros") dia.set_nombre(self.nombre) lista = addproducts.show_families(31) dia.set_lista(lista) dia.Show() #self.list_agregados.InsertItems(["Whisky"],0) def ag_tq(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Tequilas") dia.set_nombre(self.nombre) lista = addproducts.show_families(41) dia.set_lista(lista) dia.Show() #self.list_agregados.InsertItems(["Trago Tequila"],0) def ag_o(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Otros Tragos") dia.set_nombre(self.nombre) lista = addproducts.show_families(51) dia.set_lista(lista) dia.Show() def ag_b(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Cervezas") dia.set_nombre(self.nombre) lista = addproducts.show_families(61) dia.set_lista(lista) dia.Show() def ag_bna(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Bebias no Alcoholicas") dia.set_nombre(self.nombre) lista = addproducts.show_families(71) dia.set_lista(lista) dia.Show() def ag_cig(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Cigarros") dia.set_nombre(self.nombre) lista = addproducts.show_families(81) dia.set_lista(lista) dia.Show() def ag_c(self, event): # wxGlade: MyFrame3.<event_handler> f_comida.Show() def ag_bot(self, event): # wxGlade: MyFrame3.<event_handler> dia = MyDialog(None, wx.ID_ANY, "") dia.set_title("Botellas y Cuartas") dia.set_lista(["...."]) dia.Show() def ev_ok(self, event): # wxGlade: MyFrame3.<event_handler> lista = self.list_agregados.GetStrings() self.Show(0) framepos.Show() nombre = framepos.listacuentas.GetStringSelection() count = (self.list_agregados).GetCount() i = count while i>=0 : (self.list_agregados).Delete(i) i=i-1 print nombre print lista def ev_exit(self, event): # wxGlade: MyFrame3.<event_handler> self.Show(0) framepos.Show() def set_label_c2(self, l): self.l_cuenta2.SetLabel(l) self.nombre = l # end of class MyFrame3 class MyDialog1(wx.Dialog): def __init__(self, *args, **kwds): # begin wxGlade: MyDialog1.__init__ kwds["style"] = wx.DEFAULT_DIALOG_STYLE wx.Dialog.__init__(self, *args, **kwds) self.label_4 = wx.StaticText(self, wx.ID_ANY, _("Nombre")) self.text_ctrl_2 = wx.TextCtrl(self, wx.ID_ANY, "") self.label_3 = wx.StaticText(self, wx.ID_ANY, _("Mesa o Barra")) self.combo_box_1 = wx.ComboBox(self, wx.ID_ANY, choices=[_("Mesa"), _("Barra")], style=wx.CB_DROPDOWN | wx.CB_READONLY) self.button_7 = wx.Button(self, wx.ID_ANY, _("Ok")) self.button_8 = wx.Button(self, wx.ID_ANY, _("Cancelar")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_ok, self.button_7) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.button_8) # end wxGlade def __set_properties(self): # begin wxGlade: MyDialog1.__set_properties self.SetTitle(_("Crear Cuenta")) self.SetSize((284, 229)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.label_4.SetBackgroundColour(wx.Colour(192, 192, 192)) self.label_4.SetForegroundColour(wx.Colour(192, 192, 192)) self.label_3.SetBackgroundColour(wx.Colour(192, 192, 192)) self.label_3.SetForegroundColour(wx.Colour(192, 192, 192)) self.combo_box_1.SetMinSize((100, 33)) self.combo_box_1.SetSelection(-1) # end wxGlade def __do_layout(self): # begin wxGlade: MyDialog1.__do_layout grid_sizer_5 = wx.GridSizer(3, 2, 0, 0) grid_sizer_5.Add(self.label_4, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_5.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_5.Add(self.label_3, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_5.Add(self.combo_box_1, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_5.Add(self.button_7, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_5.Add(self.button_8, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) self.SetSizer(grid_sizer_5) self.Layout() # end wxGlade def evt_ok(self, event): # wxGlade: MyDialog1.<event_handler> nombre = self.text_ctrl_2.GetValue() mb = self.combo_box_1.GetStringSelection() print nombre time = str((datetime.datetime.now()).strftime("%Y-%m-%d %H:%M")) marco.new_account(time, nombre) #if nombre: # framepos.listacuentas.InsertItems([nombre], 0) f_crear.set_label_c2(nombre) f_crear.Show() framepos.update_listacuentas() self.Destroy() def evt_salir(self, event): # wxGlade: MyDialog1.<event_handler> self.Destroy() # end of class MyDialog1 class MyFrame2(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame2.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.label_1 = wx.StaticText(self, wx.ID_ANY, _("POS")) self.listacuentas = wx.ListBox(self, wx.ID_ANY, choices=[_("Cuenta1"), _("Cuenta2"), "", "", "", "", "", "", "", ""], style=wx.LB_MULTIPLE) self.b_crear = wx.Button(self, wx.ID_ANY, _("Crear Cuenta")) self.b_agr = wx.Button(self, wx.ID_ANY, _("Agregar Productos")) self.b_print = wx.Button(self, wx.ID_ANY, _("Imprimir Cuenta")) self.b_pagar = wx.Button(self, wx.ID_ANY, _("Pagar Cuenta")) self.b_quick = wx.Button(self, wx.ID_ANY, _("Venta Rapida")) self.b_otras = wx.Button(self, wx.ID_ANY, _("Otras")) self.listaprods = wx.ListBox(self, wx.ID_ANY, choices=[]) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_LISTBOX_DCLICK, self.dclick, self.listacuentas) self.Bind(wx.EVT_BUTTON, self.evtcrear, self.b_crear) self.Bind(wx.EVT_BUTTON, self.evt_agr, self.b_agr) self.Bind(wx.EVT_BUTTON, self.evt_print, self.b_print) self.Bind(wx.EVT_BUTTON, self.evt_pay, self.b_pagar) self.Bind(wx.EVT_BUTTON, self.evt_quick, self.b_quick) self.Bind(wx.EVT_BUTTON, self.evt_otras, self.b_otras) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade menubar = wx.MenuBar() first = wx.Menu() firstt = first.Append(wx.NewId(), "Cambiar usuario") menubar.Append(first, "Opciones") self.SetMenuBar(menubar) self.Bind(wx.EVT_MENU, self.evt_menu, firstt) count = (self.listacuentas).GetCount() i = count while i>=0 : (self.listacuentas).Delete(i) i=i-1 accs = marco.show_open_accounts() (self.listacuentas).InsertItems(accs,0) def __set_properties(self): # begin wxGlade: MyFrame2.__set_properties self.SetTitle(_("Punto de Ventaa")) self.SetSize((603, 541)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.label_1.SetForegroundColour(wx.Colour(192, 192, 192)) self.listacuentas.SetSelection(7) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame2.__do_layout sizer_3 = wx.BoxSizer(wx.VERTICAL) grid_sizer_3 = wx.GridSizer(1, 3, 0, 0) grid_sizer_4 = wx.GridSizer(5, 1, 0, 0) sizer_3.Add(self.label_1, 0, 0, 0) grid_sizer_3.Add(self.listacuentas, 0, wx.EXPAND, 0) grid_sizer_4.Add(self.b_crear, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_agr, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_print, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_pagar, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_quick, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_4.Add(self.b_otras, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_3.Add(grid_sizer_4, 1, wx.EXPAND, 0) grid_sizer_3.Add(self.listaprods, 0, wx.EXPAND, 0) sizer_3.Add(grid_sizer_3, 1, wx.EXPAND, 0) sizer_3.Add(self.b_salir, 0, wx.RIGHT | wx.TOP | wx.BOTTOM | wx.ALIGN_RIGHT, 5) self.SetSizer(sizer_3) self.Layout() self.Centre() # end wxGlade def dclick(self, event): # wxGlade: MyFrame2.<event_handler> sels = event.GetString() print sels count = (self.listaprods).GetCount() i = count while i>=0 : (self.listaprods).Delete(i) i=i-1 lista = addproducts.get_account(sels) (self.listaprods).InsertItems(lista,0) def evtcrear(self, event): # wxGlade: MyFrame2.<event_handler> dia = MyDialog1(None, wx.ID_ANY, "") dia.Show() def evt_salir(self, event): # wxGlade: MyFrame2.<event_handler> self.Show(0) frame1.Show() def evt_agr(self, event): # wxGlade: MyFrame2.<event_handler> f_scuenta.option(1) f_scuenta.Show() accs = marco.show_open_accounts() f_scuenta.update(accs) self.Show(0) def evt_print(self, event): # wxGlade: MyFrame2.<event_handler> f_scuenta.option(2) f_scuenta.Show() accs = marco.show_open_accounts() f_scuenta.update(accs) self.Show(0) def evt_pay(self, event): # wxGlade: MyFrame2.<event_handler> f_scuenta.option(3) f_scuenta.Show() f_scuenta.update(["payacc1","payacc2","payacc3","..."]) self.Show(0) def evt_otras(self, event): # wxGlade: MyFrame2.<event_handler> print "Event handler 'evt_otras' not implemented!" event.Skip() def evt_quick(self, event): # wxGlade: MyFrame2.<event_handler> dia = MyDialog3(None, wx.ID_ANY, "") dia.Show() def evt_menu(self, event): self.Show(0) Login.Show() def update_listacuentas(self): count = (self.listacuentas).GetCount() i = count while i>=0 : (self.listacuentas).Delete(i) i=i-1 accs = marco.show_open_accounts() (self.listacuentas).InsertItems(accs,0) # end of class MyFrame2 class MyFrame1(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame1.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.labelprincipal = wx.StaticText(self, wx.ID_ANY, _("Principal")) self.b_inv = wx.Button(self, wx.ID_ANY, _("Control de Inv. y Ventas")) self.b_pos = wx.Button(self, wx.ID_ANY, _("Punto de Venta")) self.b_config = wx.Button(self, wx.ID_ANY, _("Configuraciones")) self.b_salir = wx.Button(self, wx.ID_ANY, _("Salir")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt_inv, self.b_inv) self.Bind(wx.EVT_BUTTON, self.evt_pos, self.b_pos) self.Bind(wx.EVT_BUTTON, self.evt_config, self.b_config) self.Bind(wx.EVT_BUTTON, self.evt_salir, self.b_salir) # end wxGlade menubar = wx.MenuBar() first = wx.Menu() firstt = first.Append(wx.NewId(), "Cambiar usuario") menubar.Append(first, "Opciones") self.SetMenuBar(menubar) self.Bind(wx.EVT_MENU, self.evt_menu, firstt) def __set_properties(self): # begin wxGlade: MyFrame1.__set_properties self.SetTitle(_("Principal")) self.SetSize((324, 431)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.SetForegroundColour(wx.Colour(255, 255, 0)) self.labelprincipal.SetForegroundColour(wx.Colour(192, 192, 192)) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame1.__do_layout sizer_2 = wx.BoxSizer(wx.VERTICAL) grid_sizer_2 = wx.GridSizer(3, 1, 0, 0) sizer_2.Add(self.labelprincipal, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 15) grid_sizer_2.Add(self.b_inv, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_2.Add(self.b_pos, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_2.Add(self.b_config, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_2.Add(grid_sizer_2, 1, wx.EXPAND, 0) sizer_2.Add(self.b_salir, 0, wx.RIGHT | wx.TOP | wx.BOTTOM | wx.ALIGN_RIGHT, 10) self.SetSizer(sizer_2) self.Layout() self.Centre() # end wxGlade def evt_menu(self, event): self.Show(0) Login.Show() def evt_inv(self, event): # wxGlade: MyFrame1.<event_handler> self.Show(0) f_inventario.Show() def evt_pos(self, event): # wxGlade: MyFrame1.<event_handler> self.Show(0) framepos.Show(1) def evt_config(self, event): # wxGlade: MyFrame1.<event_handler> self.Show(0) f_config.Show() def evt_salir(self, event): # wxGlade: MyFrame1.<event_handler> self.Close() # end of class MyFrame1 class Login(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: Login.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.loginstattext = wx.StaticText(self, wx.ID_ANY, _("Login"), style=wx.ALIGN_CENTRE) self.labeluser = wx.StaticText(self, wx.ID_ANY, _("Username:")) self.textc_user = wx.TextCtrl(self, wx.ID_ANY, "") self.labelpass = wx.StaticText(self, wx.ID_ANY, _("Password:")) self.textc_pass = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_PASSWORD) self.b_ok = wx.Button(self, wx.ID_ANY, _("Ok")) self.b_cancel = wx.Button(self, wx.ID_ANY, _("Cancel")) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.evt1, self.b_ok) self.Bind(wx.EVT_BUTTON, self.evt2, self.b_cancel) # end wxGlade marco.show_open_accounts() def __set_properties(self): # begin wxGlade: Login.__set_properties self.SetTitle(_("Login")) self.SetSize((273, 226)) self.SetBackgroundColour(wx.Colour(47, 47, 47)) self.loginstattext.SetForegroundColour(wx.Colour(216, 216, 191)) self.labeluser.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_user.SetMinSize((120, 33)) self.labelpass.SetForegroundColour(wx.Colour(192, 192, 192)) self.textc_pass.SetMinSize((120, 33)) # end wxGlade def __do_layout(self): # begin wxGlade: Login.__do_layout sizer_1 = wx.BoxSizer(wx.VERTICAL) grid_sizer_1 = wx.GridSizer(3, 2, 0, 0) sizer_1.Add(self.loginstattext, 0, wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 5) grid_sizer_1.Add(self.labeluser, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_1.Add(self.textc_user, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_1.Add(self.labelpass, 0, wx.RIGHT | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) grid_sizer_1.Add(self.textc_pass, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_1.Add(self.b_ok, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_1.Add(self.b_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0) sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0) self.SetSizer(sizer_1) self.Layout() self.Centre() # end wxGlade def evt1(self, event): # wxGlade: Login.<event_handler> user= self.textc_user.GetValue() passw= self.textc_pass.GetValue() priv=utilities.login(user, passw) if priv == 9: self.Show(0) dia = MyDialog5(None, wx.ID_ANY, "") dia.Show() elif priv == 0: self.Show(0) framepos.Show() if priv == 1: self.Show(0) frame1.Show() self.textc_user.SetValue("") self.textc_pass.SetValue("") def evt2(self, event): # wxGlade: Login.<event_handler> self.Close() # end of class Login if __name__ == "__main__": gettext.install("app1") # replace with the appropriate catalog name app1 = wx.PySimpleApp(0) wx.InitAllImageHandlers() Login = Login(None, wx.ID_ANY, "") frame1 = MyFrame1(None, wx.ID_ANY, "") framepos = MyFrame2(None, wx.ID_ANY, "") f_crear = MyFrame3(None, wx.ID_ANY, "") f_config = MyFrame4(None, wx.ID_ANY, "") f_users = MyFrame5(None, wx.ID_ANY, "") f_mails = MyFrame6(None, wx.ID_ANY, "") f_control = MyFrame7(None, wx.ID_ANY, "") f_comida = MyFrame8(None, wx.ID_ANY, "") f_scuenta = MyFrame9(None, wx.ID_ANY, "") f_inventario = f_inventario(None, wx.ID_ANY, "") f_md = f_mailsdet(None, wx.ID_ANY, "") app1.SetTopWindow(Login) Login.Show() app1.MainLoop()