#! -*- coding: iso8859-1 -*-
#! /usr/bin/env python
#Creado por radicaled.
import wx
import os
import sys
class MiVentana (wx.Frame):
def __init__ ( self ):
#Se hace la construccion del metodo __init__ para inicializar los valores del frame
wx.Frame.__init__( self, None, -1, u'Open Files')
self.SetBackgroundColour(wx.BLACK)
self.txtSaludo = wx.TextCtrl(self,-1,'',style = wx.TE_MULTILINE)
self.btnSaludo = wx.Button(self,-1,'Texto Boton')
self.btnSalir = wx.Button(self,-1,'Salir')
#El BoxSizer es el que contendra los controles creados (en Python 'widgets')
sPal = wx.BoxSizer(wx.VERTICAL)
#Se agrega el TextBox, se hace que se expanda si el frame cambia el tamaño y si se minimiza tambien se acomode
sPal.Add(self.txtSaludo,1,wx.EXPAND | wx.ADJUST_MINSIZE,0)
#Se agrega el Boton, se alinea al centro y si se minimiza se debe acomodar
sPal.Add(self.btnSaludo,0,wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ADJUST_MINSIZE,5)
sPal.Add(self.btnSalir,0,wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ADJUST_MINSIZE,5)
self.SetAutoLayout(True)
self.SetSizer(sPal)
self.Layout()
self.Show(True)
#self.btnSaludo.Bind(wx.EVT_BUTTON, self.Saludar)
self.btnSaludo.Bind(wx.EVT_BUTTON, self.OnAbrir)
self.btnSalir.Bind(wx.EVT_BUTTON, self.OnCloseWindow)
def OnAbrir ( self, e ):
""" Open a file"""
dir_ventana=os.path.dirname(sys.argv[0])
if dir_ventana :
os.chdir(dir_ventana)
dlg = wx.FileDialog(self, u'Escoja un archivo', dir_ventana, '', '*.*', wx.OPEN)
print os.getcwd()
if dlg.ShowModal() == wx.ID_OK:
self.filename = dlg.GetFilename()
self.dirname = dlg.GetDirectory()
f = open(self.dirname+'/'+self.filename,'r')
self.txtSaludo.SetValue(f.read())
#wx.Frame.__init__( self, None, -1, dlg.GetFilename())
f.close()
dlg.Destroy()
def fichero(filename):
file = open(filename, 'r')
allLines = file.readlines()
file.close()
for eachLine in allLines:
self.txtSaludo.SetValue(self, eachLine)
def Saludar ( self, evento = None ):
'''Manejador evento click del botón btnSaludo'''
saludo = self.txtSaludo.GetValue()
print saludo
dlg = wx.MessageDialog(self, saludo, u'Ejemplo', wx.OK | wx.ICON_INFORMATION)
#Con esto se muestra el MessageBox
salida = dlg.ShowModal()
def Salir ( self ):
dlg = wx.MessageDialog(self, u'Realmente desea salir?', u'Advertencia', wx.OK + wx.CANCEL | wx.ICON_EXCLAMATION)#wx.ICON_INFORMATION)
#Con esto se muestra el MessageBox
salida = dlg.ShowModal()
if salida == wx.ID_OK:
self.Destroy()
def OnCloseWindow(self, event):
"""Este evento captura cuando se quiere cerrar el editor"""
#Seguro que desea salir?
if not self.Salir():
return
class Aplicacion(wx.App) :
#Este es el método que inicializa la aplicación
def OnInit ( self ):
#Se crea una instancia de la ventana
self.ventana = MiVentana()
#Se le dice a miApp quien es la Ventana Principal
self.SetTopWindow(self.ventana)
return True
def main():
dir_ventana=os.path.dirname(sys.argv[0])
if dir_ventana :
os.chdir(dir_ventana)
app = Aplicacion(0)
app.MainLoop()
if __name__ == "__main__":
main()