Código Python:
Ver original
#-*- coding: iso-8859-1 -*- import wx ID_EXIT = 200 ID_ABOUT = 101 ID_OPEN = 102 ID_Save = 103 class Edit(wx.MiniFrame): def __init__ (self): wx.MiniFrame.__init__(self, None, -1, 'Goxar Editor', wx.DefaultPosition, (900, 700), (wx.DEFAULT_FRAME_STYLE)^(wx.RESIZE_BORDER|wx.MAXIMIZE_BOX)) panel = wx.Panel(self, wx.NewId(), wx.DefaultPosition, (900, 700)) self.edit = wx.TextCtrl(panel, size=(900, 700), style=wx.TE_MULTILINE) self.CreateStatusBar() self.SetStatusText("Barra de estado - Goxar Editor de texto plano") #----------------------------------------------------------------------- menubar = wx.MenuBar() #menu de archivo archi = wx.Menu() archi.Append(-1, 'Nuevo', 'Abre un nuevo archivo') archi.Append(-2, '', '') archi.Append(ID_OPEN, 'Abrir', 'Abre un archivo') archi.Append(-1, 'Guardar', 'Sobreescribe el archivo ya guardado') archi.Append(ID_SAVE, 'Guardar como', 'Guarda el archivo') archi.Append(-2, '', '') archi.Append(ID_EXIT, 'Salir', 'Sale del programa') #menu de edicion edi = wx.Menu() edi.Append(-1, 'Copiar', 'Copia parte del texto') edi.Append(-1, 'Cortar', 'Corta parte del texto') edi.Append(-1, 'Pegar', 'Pega el contenido del portapapeles') #menu de ayuda ayu = wx.Menu() ayu.Append(ID_ABOUT, 'Acerca de...', 'Mas informacion acerca del programa') #eventos wx.EVT_MENU(self, ID_EXIT, self.onClose) wx.EVT_MENU(self, ID_ABOUT, self.about) wx.EVT_MENU(self, wx.ID_OPEN, self.Open) wx.EVT_MENU(self, wx.ID_SAVE, self.Save) #barra de menu menubar.Append(archi, '&Archivo') menubar.Append(edi, '&Edición') menubar.Append(ayu, '&Ayuda') self.SetMenuBar(menubar) #---------------------------------------------------------------------- #cerrar def onClose(self, *event): self.Close(True) #acerca de def about(self,e): dlg1 = wx.MessageDialog( self, "blablabla", "", wx.OK) dlg2 = wx.MessageDialog( self, "blablabla", "", wx.OK) dlg3 = wx.MessageDialog( self, "blablabla", "", wx.OK) dlg1.ShowModal() dlg2.ShowModal() dlg3.ShowModal() dlg1.Destroy() dlg2.Destroy() dlg3.Destroy() #abrir def Open(self,event): self.dirname = '' dlg = wx.FileDialog(self, "Abrir", self.dirname,"", "*.*", wx.OPEN) if dlg.ShowModal()==wx.ID_OK: self.filename=dlg.GetFilename() self.dirname=dlg.GetDirectory() a = open(self.filename, 'r') self.edit.SetValue(a.read()) self.edit.write(self.filename) def Save(self,event): dlg2 = wx.FileDialog(self, "Guardar como", self.dirname, "", "*.*", wx.SAVE | wx.OVERWRITE_PROMPT) if dlg2.ShowModal()==wx.ID_OK: itcontains=self.edit.GetValue() self.filename=dlg2.GetFilename() self.dirname=dlg2.GetDirectory() filehandle=open(os.path.join(self.dirname, self.filename),'w') filehandle.write(itcontains) filehandle.close() dlg2.Destroy() class App(wx.App): def OnInit(self): frame = Edit() frame.Show() self.SetTopWindow(frame) return True if __name__ == '__main__': app = App() app.MainLoop()