from shell import Shell
import version
-try:
- True
-except NameError:
- True = 1==1
- False = 1==0
-
class EditorFrame(frame.Frame):
"""Frame containing one editor."""
self._defaultText = title + ' - the tastiest Python editor.'
self._statusText = self._defaultText
self.SetStatusText(self._statusText)
- wx.EVT_IDLE(self, self.OnIdle)
+ self.Bind(wx.EVT_IDLE, self.OnIdle)
self._setup()
if filename:
self.bufferCreate(filename)
self.bufferDestroy()
buffer = Buffer()
self.panel = panel = wx.Panel(parent=self, id=-1)
- wx.EVT_ERASE_BACKGROUND(panel, lambda x: x)
+ panel.Bind (wx.EVT_ERASE_BACKGROUND, lambda x: x)
editor = Editor(parent=panel)
panel.editor = editor
sizer = wx.BoxSizer(wx.VERTICAL)
"""Create new buffer."""
buffer = Buffer()
panel = wx.Panel(parent=self.notebook, id=-1)
- wx.EVT_ERASE_BACKGROUND(panel, lambda x: x)
+ panel.Bind(wx.EVT_ERASE_BACKGROUND, lambda x: x)
editor = Editor(parent=panel)
panel.editor = editor
sizer = wx.BoxSizer(wx.VERTICAL)
def __init__(self, parent):
"""Create EditorNotebook instance."""
- wx.Notebook.__init__(self, parent, id=-1, style=wx.NO_FULL_REPAINT_ON_RESIZE)
- wx.EVT_NOTEBOOK_PAGE_CHANGING(self, self.GetId(),
- self.OnPageChanging)
- wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(),
- self.OnPageChanged)
- wx.EVT_IDLE(self, self.OnIdle)
+ wx.Notebook.__init__(self, parent, id=-1, style=wx.CLIP_CHILDREN)
+ self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnPageChanging, id=self.GetId())
+ self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged, id=self.GetId())
+ self.Bind(wx.EVT_IDLE, self.OnIdle)
def OnIdle(self, event):
"""Event handler for idle time."""
self.AddPage(page=self.editor.window, text='Editor', select=True)
self.AddPage(page=self.shell, text='Shell')
self.editor.setFocus()
- wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged)
+ self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged, id=self.GetId())
def OnPageChanged(self, event):
"""Page changed event handler."""
self.id = self.window.GetId()
self.buffer = None
# Assign handlers for keyboard events.
- wx.EVT_CHAR(self.window, self.OnChar)
- wx.EVT_KEY_DOWN(self.window, self.OnKeyDown)
+ self.window.Bind(wx.EVT_CHAR, self.OnChar)
+ self.window.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
def _setBuffer(self, buffer, text):
"""Set the editor to a buffer. Private callback called by buffer."""
def getStatus(self):
"""Return (filepath, line, column) status tuple."""
- pos = self.window.GetCurrentPos()
- line = self.window.LineFromPosition(pos) + 1
- col = self.window.GetColumn(pos)
- if self.buffer:
- name = self.buffer.doc.filepath or self.buffer.name
+ if self.window:
+ pos = self.window.GetCurrentPos()
+ line = self.window.LineFromPosition(pos) + 1
+ col = self.window.GetColumn(pos)
+ if self.buffer:
+ name = self.buffer.doc.filepath or self.buffer.name
+ else:
+ name = ''
+ status = (name, line, col)
+ return status
else:
- name = ''
- status = (name, line, col)
- return status
+ return ('', 0, 0)
def getText(self):
"""Return contents of editor."""
Only receives an event if OnKeyDown calls event.Skip() for the
corresponding event."""
- key = event.KeyCode()
+ key = event.GetKeyCode()
if key in self.autoCompleteKeys:
# Usually the dot (period) key activates auto completion.
if self.window.AutoCompActive():
def OnKeyDown(self, event):
"""Key down event handler."""
- key = event.KeyCode()
+ key = event.GetKeyCode()
# If the auto-complete window is up let it do its thing.
if self.window.AutoCompActive():
event.Skip()
def saveSingle(parent=None, title='Save', directory='', filename='',
wildcard='All Files (*.*)|*.*',
- style=wx.SAVE | wx.HIDE_READONLY | wx.OVERWRITE_PROMPT):
+ style=wx.SAVE | wx.OVERWRITE_PROMPT):
"""File dialog wrapper function."""
dialog = wx.FileDialog(parent, title, directory, filename,
wildcard, style)