Phoenix - lib.GenButton

Hi,

While working on Dabo I get the following exception:

File "c:\dev\dabo - phoenix\dabo\ui\uiwx\led.py", line 138, in <module>
   app.start()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 389, in start
   self.setup()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 341, in setup
   self.initUIApp()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 381, in initUIApp
   self.uiApp.setup()
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\uiapp.py", line 436, in setup
   frm = self.dApp.MainForm = mfc()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 1526, in _setMainForm
   self.uiApp.setMainForm(val)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\uiapp.py", line 454, in setMainForm
   frm.Show(self.dApp.showMainFormOnStart)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\form.py", line 1078, in Show
   ret = super(dForm, self).Show(show)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\formmixin.py", line 397, in Show
   super(dFormMixin, self).Show(*args, **kwargs)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\pemmixin.py", line 804, in Show
   ret = super(dPemMixin, self).Show(show)
File "c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py", line 607, in OnGainFocus
   self.Update()
File "c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py", line 480, in OnPaint
   brush = self.GetBackgroundBrush(dc)
File "c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py", line 522, in GetBackgroundBrush
   if self.DoEraseBackground(dc):

AttributeError: 'dToggleButton' object has no attribute 'DoEraseBackground'

dToggleButton is derived from wx.lib.GenButton

BTW, I don't see it in the wxWidgets doc for 2.9 or 3.0.

Werner

Werner wrote:

Hi,

While working on Dabo I get the following exception:

File "c:\dev\dabo - phoenix\dabo\ui\uiwx\led.py", line 138, in <module>
app.start()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 389, in start
self.setup()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 341, in setup
self.initUIApp()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 381, in initUIApp
self.uiApp.setup()
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\uiapp.py", line 436, in setup
frm = self.dApp.MainForm = mfc()
File "c:\dev\dabo - phoenix\dabo\dApp.py", line 1526, in _setMainForm
self.uiApp.setMainForm(val)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\uiapp.py", line 454, in
setMainForm
frm.Show(self.dApp.showMainFormOnStart)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\form.py", line 1078, in Show
ret = super(dForm, self).Show(show)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\formmixin.py", line 397, in Show
super(dFormMixin, self).Show(*args, **kwargs)
File "c:\dev\dabo - phoenix\dabo\ui\uiwx\pemmixin.py", line 804, in Show
ret = super(dPemMixin, self).Show(show)
File
"c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py",
line 607, in OnGainFocus
self.Update()
File
"c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py",
line 480, in OnPaint
brush = self.GetBackgroundBrush(dc)
File
"c:\Python27\Lib\site-packages\wx-3.0.0-msw-phoenix\wx\lib\buttons.py",
line 522, in GetBackgroundBrush
if self.DoEraseBackground(dc):

AttributeError: 'dToggleButton' object has no attribute 'DoEraseBackground'

dToggleButton is derived from wx.lib.GenButton

BTW, I don't see it in the wxWidgets doc for 2.9 or 3.0.

It isn't actually a part of the public API, but something I hacked in for some reason. I looked at adding it back in for Phoenix, but it is a protected method on MSW so I need to figure out a way to get access to it...

···

--
Robin Dunn
Software Craftsman