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()