Síguenos en Facebook


Síguenos en Twitter

Compartir este tema:
  • Compartir en Delicious
  • Compartir en Digg
  • Compartir en Linkedin
  • Compartir en MySpace
  • Compartir en Technorati
  • Compartir en Tuenti

Goxar es un editor de texto plano con las funciones tipicas de uno de este. Carece de menu de edición. En su versión 1.0 cuenta con funciones de abrir, guardar.

Nombre del Programa: Goxar Editor de texto plano.

Versión del Programa: 1.0.

Autor(es): Carlos Sánchez (swik).

Sistema Operativo: Windows XP SP3.

Lenguaje en que fue programado: Python 2.6.x.

Licencia bajo la que fue liberado: Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0.

Fecha de lanzamiento: 28/8/10.

Idioma(s): Español.

Capturas:

Código:

#-*- coding: iso-8859-1 -*-
 
#Goxar editor
#Agradecimientos a Sifaw
#Copyright © 2010
#Autor: swik
#Bajo licencia
 
import wx, os
 
ID_OPEN = 5000
ID_NEW = 5002
ID_SAVE = 5003
ID_SaveAS = 5004
ID_EXIT = 5006
ID_ABOUT = 5014
 
class Editor(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(ID_NEW, 'Nuevo', 'Limpia el contenido para comenzar un archivo nuevo')
        archi.Append(-2, '', '')
        archi.Append(ID_OPEN, 'Abrir', 'Abre un archivo')
        archi.Append(ID_SAVE, 'Guardar', 'Guarda el archivo previamente guardado')
        archi.Append(ID_SaveAS, 'Guardar como', 'Guarda el archivo')
        archi.Append(-2, '', '')
        archi.Append(ID_EXIT, 'Salir', 'Sale del programa')
 
        #menu de ayuda
        ayu = wx.Menu()
        ayu.Append(ID_ABOUT, 'Acerca de...', 'Mas informacion acerca del programa')
 
        #eventos
        wx.EVT_MENU(self, wx.ID_EXIT,  self.onClose)
        wx.EVT_MENU(self, wx.ID_ABOUT, self.onAbout)
        wx.EVT_MENU(self, wx.ID_OPEN, self.onOpen)
        wx.EVT_MENU(self, wx.ID_SAVEAS, self.onSaveAS)
        wx.EVT_MENU(self, wx.ID_SAVE, self.onSave)
        wx.EVT_MENU(self, wx.ID_NEW, self.onNew)
 
        #barra de menu
        menubar.Append(archi, '&Archivo')
 
        menubar.Append(ayu, '&Ayuda')
        self.SetMenuBar(menubar)
        #----------------------------------------------------------------------
 
    #cerrar
    def onClose(self, *event):
        self.Close(True)
    #acerca de
    def onAbout(self,e):
        dlg1 = wx.MessageDialog( self, "Goxar Editor de texto plano v1.0", "", wx.OK)
        dlg2 = wx.MessageDialog( self, "Copyright © 2010 ", "", wx.OK)
        dlg1.ShowModal()
        dlg2.ShowModal()
        dlg1.Destroy()
        dlg2.Destroy()
 
    #abrir
    def onOpen(self,event):
        self.dirname = ''
        dlg = wx.FileDialog(self, "Goxar: 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 onSaveAS(self,event):
        self.dirname = ''
        dlg1 = wx.FileDialog(self, "Goxar: Guardar como", self.dirname, "", "*.*", wx.SAVE | wx.OVERWRITE_PROMPT)
        if dlg1.ShowModal() == wx.ID_OK:
            conten = self.edit.GetValue()
            self.filename=dlg1.GetFilename()
            self.dirname=dlg1.GetDirectory()
            filehandle=open(os.path.join(self.dirname, self.filename),'w')
            filehandle.write(conten)
            filehandle.close()
        dlg1.Destroy()
 
    def onSave(self,event):
        grab = self.edit.GetValue()
        a = open(self.filename, 'w')
        a.write(grab)
        a.close()
 
    def onNew(self,event):
        self.edit.Clear()
 
class App(wx.App):
    def OnInit(self):
        frame = Editor()
        frame.Show()
        self.SetTopWindow(frame)
        return True
 
if __name__ == '__main__':
    app = App()
    app.MainLoop()

Deja una respuesta

Tu debes estar Loggueado para comentar