Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2008, 16:31
iozk
 
Fecha de Ingreso: mayo-2008
Mensajes: 499
Antigüedad: 16 años
Puntos: 1
Exclamación ayuda con StyleTextCtrl

ya hice mi codigo y quiero hacerlo con esto pero no me sale y sale error en 'stc'
que no esta definido y ya no se que mas hacerle

Código python:
Ver original
  1. import wx
  2. import sys
  3. import os
  4. ID_STAT = 2
  5. ID_TOOL = 3
  6.  
  7. class Styled(wx.stc.StyledTextCtrl):
  8.     def __init__(self, parent, id, pos, size, style, validator, name) :
  9.         wx.stc.StyledTextCtrl.__init__(self, parent, id, pos, size, style, validator, name)
  10.        
  11. class Editor(wx.Frame):
  12.     def __init__(self, parent, id, title):
  13.         wx.Frame.__init__(self, parent, id, title, size=(550, 580))
  14.        
  15.        
  16.         menubar = wx.MenuBar()
  17.         file = wx.Menu()
  18.         new = wx.MenuItem(file, 101, '&New\tCtrl+N', 'Creates a new document')
  19.         file.AppendItem(new)
  20.        
  21.         open = wx.MenuItem(file, 102, '&Open\tCtrl+O', 'Open an existing file')
  22.         file.AppendItem(open)
  23.         save = wx.MenuItem(file, 103, '&Save\tCtrl+S', 'Save the file')
  24.         file.AppendItem(save)
  25.         file.AppendSeparator()
  26.         quit = wx.MenuItem(file, wx.ID_EXIT, '&Quit\tCtrl+Q', 'Exit program')
  27.         file.AppendItem(quit)
  28.  
  29.         edit = wx.Menu()
  30.         cut = wx.MenuItem(edit, 106, '&Cut\tCtrl+K', 'Cut the Selection')
  31.         edit.AppendItem(cut)
  32.         copy = wx.MenuItem(edit, 107,  '&Copy\tCtrl+C', 'Copy the Selection')
  33.         edit.AppendItem(copy)
  34.         select = wx.MenuItem(edit, 104,  '&Select\tCtrl+E', 'Selact All')
  35.         edit.AppendItem(select)
  36.         paste = wx.MenuItem(edit, 108, '&Paste\tCtrl+V', 'Paste text from clipboard')
  37.         edit.AppendItem(paste)
  38.         delete = wx.MenuItem(edit, 109, '&Delete\tCtrl+X', 'Delete the selected text')
  39.         edit.AppendItem(delete)
  40.         view = wx.Menu()
  41.         self.shst = view.Append(ID_STAT, 'Show statusbar', 'Show Statusbar', kind=wx.ITEM_CHECK)
  42.         self.shtl = view.Append(ID_TOOL, 'Show toolbar', 'Show Toolbar', kind=wx.ITEM_CHECK)
  43.         view.Check(ID_STAT, True)
  44.         view.Check(ID_TOOL, True)
  45.  
  46.         self.Bind(wx.EVT_MENU, self.NewApplication, id=101)
  47.         self.Bind(wx.EVT_MENU, self.OnOpenFile, id=102)
  48.         self.Bind(wx.EVT_MENU, self.OnSaveFile, id=103)
  49.  
  50.         self.Bind(wx.EVT_MENU, self.OnCut, id=106)
  51.         self.Bind(wx.EVT_MENU, self.OnCopy, id=107)
  52.         self.Bind(wx.EVT_MENU, self.OnPaste, id=108)
  53.         self.Bind(wx.EVT_MENU, self.OnDelete, id=109)
  54.         self.Bind(wx.EVT_MENU, self.OnSelectAll, id=104)
  55.        
  56.  
  57.         self.Bind(wx.EVT_MENU, self.ToggleStatusBar, id=ID_STAT)
  58.         self.Bind(wx.EVT_MENU, self.ToggleToolBar, id=ID_TOOL)
  59.        
  60.  
  61.         menubar.Append(file, '&File')
  62.         menubar.Append(edit, '&Edit')
  63.         menubar.Append(view, '&View')
  64.         self.SetMenuBar(menubar)
  65.  
  66.         self.count = 5
  67.  
  68.         self.toolbar = self.CreateToolBar(wx.TB_HORIZONTAL)
  69.         self.toolbar.AddLabelTool(101, '', wx.Bitmap('Lamp/fil.png'))
  70.         self.toolbar.AddLabelTool(102, '', wx.Bitmap('Lamp/ab.png'))
  71.         self.toolbar.AddLabelTool(103, '', wx.Bitmap('Lamp/kep.png'))
  72.         self.toolbar.AddLabelTool(104, '', wx.Bitmap('Lamp/sel.png'))
  73.         self.toolbar.AddLabelTool(106, '', wx.Bitmap('Lamp/cut.png'))
  74.         self.toolbar.AddLabelTool(wx.ID_EXIT, '', wx.Bitmap('Lamp/sar.png'))
  75.         self.toolbar.EnableTool(wx.ID_REDO, False)
  76.      
  77.         self.toolbar.Realize()
  78.  
  79.         self.Bind(wx.EVT_TOOL, self.OnExit, id=wx.ID_EXIT)
  80.  
  81.  
  82.         self.control = wx.stc.StyledTextCtrl(OnInit)
  83.         self.dirname = ''
  84.         self.statusbar = self.CreateStatusBar()
  85.         self.Centre()
  86.         self.Show(True)
  87.         #aqui
  88.     def NewApplication(self, event):
  89.         editor = Editor(None, -1, 'Editor')
  90.         editor.Centre()
  91.         editor.Show()
  92.  
  93.     def OnOpenFile(self,e):
  94.         dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "*.*", wx.OPEN)
  95.         if dlg.ShowModal() == wx.ID_OK:
  96.             self.filename=dlg.GetFilename()
  97.             self.dirname=dlg.GetDirectory()
  98.  
  99.            
  100.             filehandle=open(os.path.join(self.dirname, self.filename),'r')
  101.             self.control.SetValue(filehandle.read())
  102.             filehandle.close()
  103.  
  104.            
  105.             self.SetTitle("Editing ... "+self.filename)
  106.            
  107.         dlg.Destroy()
  108.  
  109.     def DoOpenFile(self):
  110.         wcd = 'All files (*)|*|Editor files (*.ef)|*.ef|'
  111.         dir = os.getcwd()
  112.         open_dlg = wx.FileDialog(self, message='Choose a file', defaultDir=dir, defaultFile='',
  113.             wildcard=wcd, style=wx.OPEN|wx.CHANGE_DIR)
  114.         if open_dlg.ShowModal() == wx.ID_OK:
  115.             path = open_dlg.GetPath()
  116.  
  117.             try:
  118.                 file = open(path, 'r')
  119.                 text = file.read()
  120.                 file.close()
  121.                 if self.text.GetLastPosition():
  122.                     self.text.Clear()
  123.                 self.text.WriteText(text)
  124.                 self.last_name_saved = path
  125.                 self.statusbar.SetStatusText('', 1)
  126.                 self.modify = False
  127.  
  128.             except IOError, error:
  129.                 dlg = wx.MessageDialog(self, 'Error opening file\n' + str(error))
  130.                 dlg.ShowModal()
  131.  
  132.             except UnicodeDecodeError, error:
  133.                 dlg = wx.MessageDialog(self, 'Error opening file\n' + str(error))
  134.                 dlg.ShowModal()
  135.  
  136.         open_dlg.Destroy()
  137.  
  138.     def OnSaveFile(self,e):
  139.        
  140.         dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "*.*", \
  141.                 wx.SAVE | wx.OVERWRITE_PROMPT)
  142.         if dlg.ShowModal() == wx.ID_OK:
  143.             itcontains = self.control.GetValue()
  144.  
  145.             self.filename=dlg.GetFilename()
  146.             self.dirname=dlg.GetDirectory()
  147.             filehandle=open(os.path.join(self.dirname, self.filename),'w')
  148.             filehandle.write(itcontains)
  149.             filehandle.close()
  150.         dlg.Destroy()
  151.  
  152.     def OnCut(self, event):
  153.         self.control.Cut()
  154.  
  155.     def OnCopy(self, event):
  156.         self.control.Copy()
  157.  
  158.     def OnPaste(self, event):
  159.         self.control.Paste()
  160.  
  161.     def OnDelete(self, event):
  162.         frm, to = self.control.GetSelection()
  163.         self.control.Remove(frm, to)
  164.  
  165.     def OnSelectAll(self, event):
  166.         self.control.SelectAll()
  167.  
  168.     def OnTextChanged(self, event):
  169.         self.modify = True
  170.         self.statusbar.SetStatusText(' modified', 1)
  171.         event.Skip()
  172.  
  173.     def OnKeyDown(self, event):
  174.         keycode = event.GetKeyCode()
  175.         if keycode == wx.WXK_INSERT:
  176.             if not self.replace:
  177.                 self.statusbar.SetStatusText('INS', 2)
  178.                 self.replace = True
  179.             else:
  180.                 self.statusbar.SetStatusText('', 2)
  181.                 self.replace = False
  182.         event.Skip()
  183.  
  184.     def OnAbout(self, event):
  185.         dlg = wx.MessageDialog(self, '\tEditor\t\n Another Tutorial\njan bodnar 2005-2006',
  186.                                 'About Editor', wx.OK | wx.ICON_INFORMATION)
  187.         dlg.ShowModal()
  188.         dlg.Destroy()
  189.  
  190.     def OnExit(self, event):
  191.         dlg = wx.MessageDialog(self, 'Are you sure to quit editor?', 'Please Confirm', wx.YES_NO |
  192.         wx.NO_DEFAULT | wx.ICON_QUESTION)
  193.         if dlg.ShowModal() == wx.ID_YES:
  194.             self.Close(True)
  195.  
  196.     def ToggleStatusBar(self, event):
  197.         if self.shst.IsChecked():
  198.             self.statusbar.Show()
  199.         else:
  200.             self.statusbar.Hide()
  201.  
  202.     def ToggleToolBar(self, event):
  203.         if self.shtl.IsChecked():
  204.             self.toolbar.Show()
  205.         else:
  206.             self.toolbar.Hide()
  207.  
  208. app = wx.App()
  209. Editor(None, 1, 'Editor')
  210. app.MainLoop()

Última edición por iozk; 18/10/2008 a las 16:36