The UseAntiAliasing is off by default on wxMac. Add a menu item to

the Py* Apps for experimenting with it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-02-23 22:36:24 +00:00
parent 0eaf23edfa
commit 9513c5b609
5 changed files with 43 additions and 15 deletions

View File

@ -174,6 +174,7 @@ def runTest(frame, nb, log):
#ed.StyleClearAll()
#ed.SetScrollWidth(800)
#ed.SetWrapMode(True)
#ed.SetUseAntiAliasing(False)
ed.SetText(demoText)

View File

@ -59,7 +59,8 @@ class PythonSTC(stc.StyledTextCtrl):
self.SetViewWhiteSpace(False)
#self.SetBufferedDraw(False)
#self.SetViewEOL(True)
#self.SetUseAntiAliasing(True)
self.SetEdgeMode(stc.STC_EDGE_BACKGROUND)
self.SetEdgeColumn(78)

View File

@ -55,6 +55,16 @@ Updated the AnalogClockWindow with many enhancements from E. A. Tac
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.

View File

@ -607,15 +607,18 @@ class Editor:
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."""

View File

@ -35,6 +35,7 @@ ID_COPY_PLUS = wx.NewId()
ID_NAMESPACE = wx.NewId()
ID_PASTE_PLUS = wx.NewId()
ID_WRAP = wx.NewId()
ID_USEAA = wx.NewId()
class Frame(wx.Frame):
@ -106,18 +107,18 @@ class Frame(wx.Frame):
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__',
1)
wx.ITEM_CHECK)
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',
'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',
'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,
@ -125,7 +126,10 @@ class Frame(wx.Frame):
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()
@ -163,6 +167,7 @@ class Frame(wx.Frame):
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)
@ -187,6 +192,7 @@ class Frame(wx.Frame):
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()
@ -284,6 +290,11 @@ class Frame(wx.Frame):
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()
@ -342,6 +353,8 @@ class Frame(wx.Frame):
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: