the Py* Apps for experimenting with it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25933
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#ed.StyleClearAll()
#ed.SetScrollWidth(800)
#ed.SetWrapMode(True)
#ed.StyleClearAll()
#ed.SetScrollWidth(800)
#ed.SetWrapMode(True)
+ #ed.SetUseAntiAliasing(False)
self.SetViewWhiteSpace(False)
#self.SetBufferedDraw(False)
#self.SetViewEOL(True)
self.SetViewWhiteSpace(False)
#self.SetBufferedDraw(False)
#self.SetViewEOL(True)
+ #self.SetUseAntiAliasing(True)
+
self.SetEdgeMode(stc.STC_EDGE_BACKGROUND)
self.SetEdgeColumn(78)
self.SetEdgeMode(stc.STC_EDGE_BACKGROUND)
self.SetEdgeColumn(78)
wxMac now has wx.ToggleButton!
wxMac now has wx.ToggleButton!
+wx.stc.StyledTextCtrl has been update to version 1.58 of Scintilla.
+
+To help with the wx.stc.StyledTextCtrl performance issues on wxMac
+I've added a SetUseAntiAliasing method (and GetUseAntiAliasing) too
+that will turn off the use of antialiased fonts in the wxSTC, allowing
+it to bypass the slow text measuring routines and use the fast and
+simple one instead. By default the setting is turned off. When run
+on OSX The Py* apps have a new item on the Options menu for
+controlling this setting if you would like to experiment with it.
+
def getStatus(self):
"""Return (filepath, line, column) status tuple."""
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
- name = ''
- status = (name, line, col)
- return status
def getText(self):
"""Return contents of editor."""
def getText(self):
"""Return contents of editor."""
ID_NAMESPACE = wx.NewId()
ID_PASTE_PLUS = wx.NewId()
ID_WRAP = wx.NewId()
ID_NAMESPACE = wx.NewId()
ID_PASTE_PLUS = wx.NewId()
ID_WRAP = wx.NewId()
m = self.autocompMenu = wx.Menu()
m.Append(ID_AUTOCOMP_SHOW, 'Show Auto Completion',
m = self.autocompMenu = wx.Menu()
m.Append(ID_AUTOCOMP_SHOW, 'Show Auto Completion',
- 'Show auto completion list', 1)
+ 'Show auto completion list', wx.ITEM_CHECK)
m.Append(ID_AUTOCOMP_MAGIC, 'Include Magic Attributes',
'Include attributes visible to __getattr__ and __setattr__',
m.Append(ID_AUTOCOMP_MAGIC, 'Include Magic Attributes',
'Include attributes visible to __getattr__ and __setattr__',
m.Append(ID_AUTOCOMP_SINGLE, 'Include Single Underscores',
m.Append(ID_AUTOCOMP_SINGLE, 'Include Single Underscores',
- 'Include attibutes prefixed by a single underscore', 1)
+ 'Include attibutes prefixed by a single underscore', wx.ITEM_CHECK)
m.Append(ID_AUTOCOMP_DOUBLE, 'Include Double Underscores',
m.Append(ID_AUTOCOMP_DOUBLE, 'Include Double Underscores',
- 'Include attibutes prefixed by a double underscore', 1)
+ 'Include attibutes prefixed by a double underscore', wx.ITEM_CHECK)
m = self.calltipsMenu = wx.Menu()
m.Append(ID_CALLTIPS_SHOW, 'Show Call Tips',
m = self.calltipsMenu = wx.Menu()
m.Append(ID_CALLTIPS_SHOW, 'Show Call Tips',
- 'Show call tips with argument signature and docstring', 1)
+ 'Show call tips with argument signature and docstring', wx.ITEM_CHECK)
m = self.optionsMenu = wx.Menu()
m.AppendMenu(ID_AUTOCOMP, '&Auto Completion', self.autocompMenu,
m = self.optionsMenu = wx.Menu()
m.AppendMenu(ID_AUTOCOMP, '&Auto Completion', self.autocompMenu,
m.AppendMenu(ID_CALLTIPS, '&Call Tips', self.calltipsMenu,
'Call Tip Options')
m.Append(ID_WRAP, '&Wrap Lines',
m.AppendMenu(ID_CALLTIPS, '&Call Tips', self.calltipsMenu,
'Call Tip Options')
m.Append(ID_WRAP, '&Wrap Lines',
- 'Wrap lines at right edge', 1)
+ 'Wrap lines at right edge', wx.ITEM_CHECK)
+ if wx.Platform == "__WXMAC__":
+ m.Append(ID_USEAA, '&Use AntiAliasing',
+ 'Use anti-aliased fonts', wx.ITEM_CHECK)
m = self.helpMenu = wx.Menu()
m.AppendSeparator()
m = self.helpMenu = wx.Menu()
m.AppendSeparator()
wx.EVT_MENU(self, ID_AUTOCOMP_DOUBLE, self.OnAutoCompleteDouble)
wx.EVT_MENU(self, ID_CALLTIPS_SHOW, self.OnCallTipsShow)
wx.EVT_MENU(self, ID_WRAP, self.OnWrap)
wx.EVT_MENU(self, ID_AUTOCOMP_DOUBLE, self.OnAutoCompleteDouble)
wx.EVT_MENU(self, ID_CALLTIPS_SHOW, self.OnCallTipsShow)
wx.EVT_MENU(self, ID_WRAP, self.OnWrap)
+ wx.EVT_MENU(self, ID_USEAA, self.OnUseAA)
wx.EVT_UPDATE_UI(self, ID_NEW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_OPEN, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_NEW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_OPEN, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_DOUBLE, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_CALLTIPS_SHOW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_WRAP, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_DOUBLE, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_CALLTIPS_SHOW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_WRAP, self.OnUpdateMenu)
+ wx.EVT_UPDATE_UI(self, ID_USEAA, self.OnUpdateMenu)
def OnFileNew(self, event):
self.bufferNew()
def OnFileNew(self, event):
self.bufferNew()
win = wx.Window_FindFocus()
win.SetWrapMode(event.IsChecked())
win = wx.Window_FindFocus()
win.SetWrapMode(event.IsChecked())
+ def OnUseAA(self, event):
+ win = wx.Window_FindFocus()
+ win.SetUseAntiAliasing(event.IsChecked())
+
+
def OnUpdateMenu(self, event):
"""Update menu items based on current status and context."""
win = wx.Window_FindFocus()
def OnUpdateMenu(self, event):
"""Update menu items based on current status and context."""
win = wx.Window_FindFocus()
event.Check(win.autoCallTip)
elif id == ID_WRAP:
event.Check(win.GetWrapMode())
event.Check(win.autoCallTip)
elif id == ID_WRAP:
event.Check(win.GetWrapMode())
+ elif id == ID_USEAA:
+ event.Check(win.GetUseAntiAliasing())
else:
event.Enable(False)
except AttributeError:
else:
event.Enable(False)
except AttributeError: