#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# generated by wxGlade 0.6.3 on Tue Mar 09 23:59:26 2010
import wx
# begin wxGlade: extracode
# end wxGlade
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.panel = wx.Panel(self, -1)
# Menu Bar
self.barra_menu = wx.MenuBar()
self.SetMenuBar(self.barra_menu)
# Menu Bar end
self.barra_estado = self.CreateStatusBar(1, wx.ST_SIZEGRIP)
# Tool Bar
self.barra_herramientas = wx.ToolBar(self, -1)
self.SetToolBar(self.barra_herramientas)
a1 = self.barra_herramientas.AddLabelTool(wx.NewId(), "nuevo", \
wx.Bitmap("d:\\python\\iconos\\on\\filenew.gif", wx.BITMAP_TYPE_ANY) \
, wx.NullBitmap, wx.ITEM_NORMAL, "Nuevo", "Crear nuevo cliente")
a2 = self.barra_herramientas.AddLabelTool(wx.NewId(), "guardar", \
wx.Bitmap("d:\\python\\iconos\\on\\filesave.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\filesave.gif", wx.BITMAP_TYPE_ANY), \
wx.ITEM_NORMAL, "Guardar", "Guardar cliente en base de datos")
a3 = self.barra_herramientas.AddLabelTool(wx.NewId(), "cancelar", \
wx.Bitmap("d:\\python\\iconos\\on\\cancel.gif", wx.BITMAP_TYPE_ANY) \
, wx.Bitmap("d:\\python\\iconos\\off\\cancel.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Cancelar", "Cancelar operación")
a4 = self.barra_herramientas.AddLabelTool(wx.NewId(), "editar", \
wx.Bitmap("d:\\python\\iconos\\on\\edit.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\edit.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Editar", "Editar cliente actual")
a5 = self.barra_herramientas.AddLabelTool(wx.NewId(), "buscar",\
wx.Bitmap("d:\\python\\iconos\\on\\find.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\find.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Buscar", "Buscar cliente en base de datos")
a6 = self.barra_herramientas.AddLabelTool(wx.NewId(), "eliminar", \
wx.Bitmap("d:\\python\\iconos\\on\\remove.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\remove.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Eliminar", "Eliminar cliente de base de datos")
a7 = self.barra_herramientas.AddLabelTool(wx.NewId(), "recargar", \
wx.Bitmap("d:\\python\\iconos\\on\\reload.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\reload.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Recargar", "Recargar información de cliente")
a8 = self.barra_herramientas.AddLabelTool(wx.NewId(), "izda_final",\
wx.Bitmap("d:\\python\\iconos\\on\\player_start.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\player_start.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Inicio", "Primer registro")
a9 = self.barra_herramientas.AddLabelTool(wx.NewId(), "izda_rapido", \
wx.Bitmap("d:\\python\\iconos\\on\\2leftarrow.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\2leftarrow.gif",\
wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, u"Avance rápido",\
u"Avance rápido de registros a la izquierda")
a10 = self.barra_herramientas.AddLabelTool(wx.NewId(), "izda", \
wx.Bitmap("d:\\python\\iconos\\on\\1leftarrow.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\1leftarrow.gif", wx.BITMAP_TYPE_ANY), \
wx.ITEM_NORMAL, "Izquierda", "Avance de un registro a la izquierda")
a11 = self.barra_herramientas.AddLabelTool(wx.NewId(), "drcha", \
wx.Bitmap("d:\\python\\iconos\\on\\1rightarrow.gif", wx.BITMAP_TYPE_ANY)\
, wx.Bitmap("d:\\python\\iconos\\off\\1rightarrow.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Derecha", "Avance de un registro a la derecha")
a12 = self.barra_herramientas.AddLabelTool(wx.NewId(), "drcha_rapido", \
wx.Bitmap("d:\\python\\iconos\\on\\2rightarrow.gif", wx.BITMAP_TYPE_ANY),\
wx.Bitmap("d:\\python\\iconos\\off\\2rightarrow.gif", wx.BITMAP_TYPE_ANY), \
wx.ITEM_NORMAL, u"Avance rápido", u"Avance rápido de registros a la derecha")
a13 = self.barra_herramientas.AddLabelTool(wx.NewId(), "drcha_final", \
wx.Bitmap("d:\\python\\iconos\\on\\player_end.gif", wx.BITMAP_TYPE_ANY), \
wx.Bitmap("d:\\python\\iconos\\off\\player_end.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Final", u"Último registro")
a14 = self.barra_herramientas.AddLabelTool(wx.NewId(), "ayuda", \
wx.Bitmap("d:\\python\\iconos\\on\\help.gif", wx.BITMAP_TYPE_ANY), \
wx.Bitmap("d:\\python\\iconos\\off\\help.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Ayuda", "Programa clientes escrito en Python, wxPython y MySQL.")
a15 = self.barra_herramientas.AddLabelTool(wx.NewId(), "salir", \
wx.Bitmap("d:\\python\\iconos\\on\\exit.gif", wx.BITMAP_TYPE_ANY), \
wx.Bitmap("d:\\python\\iconos\\off\\exit.gif", wx.BITMAP_TYPE_ANY),\
wx.ITEM_NORMAL, "Salir", "Salir de la aplicación de clientes")
# Tool Bar end
self.label_1 = wx.StaticText(self.panel, -1, "ID")
self.text_ctrl_id = wx.TextCtrl(self.panel, -1, "", style=wx.TE_READONLY)
self.label_2 = wx.StaticText(self.panel, -1, "NOMBRE")
self.text_ctrl_nombre = wx.TextCtrl(self.panel, -1, "")
self.label_3 = wx.StaticText(self.panel, -1, "APELLIDOS")
self.text_ctrl_apellidos = wx.TextCtrl(self.panel, -1, "")
self.label_4 = wx.StaticText(self.panel, -1, "NIF")
self.text_ctrl_nif = wx.TextCtrl(self.panel, -1, "")
self.label_5 = wx.StaticText(self.panel, -1, u"CORREO ELECTRÓNICO")
self.text_ctrl_email = wx.TextCtrl(self.panel, -1, "")
self.label_6 = wx.StaticText(self.panel, -1, u"DIRECCIÓN WEB")
self.text_ctrl_web = wx.TextCtrl(self.panel, -1, "")
self.label_7 = wx.StaticText(self.panel, -1, "OBSERVACIONES")
self.text_ctrl_observ = wx.TextCtrl(self.panel, -1, "", \
style=wx.TE_MULTILINE|wx.HSCROLL)
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_TOOL, self.Onnuevo, a1)
self.Bind(wx.EVT_TOOL, self.Onguardar, a2)
self.Bind(wx.EVT_TOOL, self.Oncancelar, a3)
self.Bind(wx.EVT_TOOL, self.Oneditar, a4)
self.Bind(wx.EVT_TOOL, self.Onbuscar, a5)
self.Bind(wx.EVT_TOOL, self.Oneliminar, a6)
self.Bind(wx.EVT_TOOL, self.Onrecargar, a7)
self.Bind(wx.EVT_TOOL, self.Onizda_final, a8)
self.Bind(wx.EVT_TOOL, self.Onizda_rapido, a9)
self.Bind(wx.EVT_TOOL, self.Onizda, a10)
self.Bind(wx.EVT_TOOL, self.Ondrcha, a11)
self.Bind(wx.EVT_TOOL, self.Ondrcha_rapido, a12)
self.Bind(wx.EVT_TOOL, self.Ondrcha_final, a13)
self.Bind(wx.EVT_TOOL, self.Onayuda, a14)
self.Bind(wx.EVT_TOOL, self.Onsalir, a15)
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Mantenimiento de clientes")
_icon = wx.EmptyIcon()
_icon.CopyFromBitmap(wx.Bitmap("D:\\python\\iconos\\aplicacion\\icon_history.gif", \
wx.BITMAP_TYPE_ANY))
self.SetIcon(_icon)
self.SetSize((436, 386))
self.barra_estado.SetStatusWidths([-1])
# statusbar fields
barra_estado_fields = ["http://elviajedelnavegante.blogspot.com"]
for i in range(len(barra_estado_fields)):
self.barra_estado.SetStatusText(barra_estado_fields[i], i)
self.barra_herramientas.Realize()
self.text_ctrl_id.SetMinSize((250, 20))
self.text_ctrl_nombre.SetMinSize((250, 20))
self.text_ctrl_apellidos.SetMinSize((250, 20))
self.text_ctrl_nif.SetMinSize((250, 20))
self.text_ctrl_email.SetMinSize((250, 20))
self.text_ctrl_web.SetMinSize((250, 20))
self.text_ctrl_observ.SetMinSize((250, 100))
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer = wx.BoxSizer(wx.VERTICAL)
grid_sizer_1 = wx.FlexGridSizer(7, 2, 0, 0)
grid_sizer_1.Add(self.label_1, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_id, 0, 0, 0)
grid_sizer_1.Add(self.label_2, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_nombre, 0, 0, 0)
grid_sizer_1.Add(self.label_3, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_apellidos, 0, 0, 0)
grid_sizer_1.Add(self.label_4, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_nif, 0, 0, 0)
grid_sizer_1.Add(self.label_5, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_email, 0, 0, 0)
grid_sizer_1.Add(self.label_6, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_web, 0, 0, 0)
grid_sizer_1.Add(self.label_7, 0, 0, 0)
grid_sizer_1.Add(self.text_ctrl_observ, 0, 0, 0)
self.panel.SetSizer(grid_sizer_1)
grid_sizer_1.AddGrowableRow(0)
grid_sizer_1.AddGrowableRow(1)
grid_sizer_1.AddGrowableRow(2)
grid_sizer_1.AddGrowableRow(3)
grid_sizer_1.AddGrowableRow(4)
grid_sizer_1.AddGrowableRow(5)
grid_sizer_1.AddGrowableRow(6)
grid_sizer_1.AddGrowableCol(0)
grid_sizer_1.AddGrowableCol(1)
sizer.Add(self.panel, 1, wx.EXPAND, 0)
self.SetSizer(sizer)
sizer.SetSizeHints(self)
self.Layout()
self.Centre()
# end wxGlade
def Onnuevo(self, event): # wxGlade: MyFrame.
print "Event handler `Onnuevo' not implemented!"
#event.Skip()
def Onguardar(self, event): # wxGlade: MyFrame.
print "Event handler `Onguardar' not implemented!"
event.Skip()
def Oncancelar(self, event): # wxGlade: MyFrame.
print "Event handler `Oncancelar' not implemented!"
event.Skip()
def Oneditar(self, event): # wxGlade: MyFrame.
print "Event handler `Oneditar' not implemented!"
event.Skip()
def Onbuscar(self, event): # wxGlade: MyFrame.
print "Event handler `Onbuscar' not implemented!"
event.Skip()
def Oneliminar(self, event): # wxGlade: MyFrame.
print "Event handler `Oneliminar' not implemented!"
event.Skip()
def Onrecargar(self, event): # wxGlade: MyFrame.
print "Event handler `Onrecargar' not implemented!"
event.Skip()
def Onizda_final(self, event): # wxGlade: MyFrame.
print "Event handler `Onizda_final' not implemented!"
event.Skip()
def Onizda_rapido(self, event): # wxGlade: MyFrame.
print "Event handler `Onizda_rapido' not implemented!"
event.Skip()
def Onizda(self, event): # wxGlade: MyFrame.
print "Event handler `Onizda' not implemented!"
event.Skip()
def Ondrcha(self, event): # wxGlade: MyFrame.
print "Event handler `Ondrcha' not implemented!"
event.Skip()
def Ondrcha_rapido(self, event): # wxGlade: MyFrame.
print "Event handler `Ondrcha_rapido' not implemented!"
event.Skip()
def Ondrcha_final(self, event): # wxGlade: MyFrame.
print "Event handler `Ondrcha_final' not implemented!"
event.Skip()
def Onayuda(self, event): # wxGlade: MyFrame.
print "Event handler `Onayuda' not implemented!"
event.Skip()
def Onsalir(self, event): # wxGlade: MyFrame.
print "Event handler `Onsalir' not implemented!"
event.Skip()
# end of class MyFrame
Podemos cambiar la ruta absoluta de los iconos del frame por rutas relativas, de manera que los iconoslos guardemos en una carpeta de recursos en el directorio en donde se encuentre nuestro fichero ejecutable Python. Nos aseguramos de esta manera que los iconos se encuentren siempre. Así, por ejemplo, para la siguiente línea: