I have an application that relies on the drawXXXlist functions in
wxpython. I've been getting some reports from windows users that
screen updates are happening in a completely unpredictable fashion.
I don't have windows available, so I an unable to track down issue.
I was able, however, to secure access to a windows box for a few
minutes this afternoon -- just long enough to try the demo applications.
I found that the the drawXXXList demo doesn't correctly update
the center of the wx.PaintDC. This was on wxPython 2.6.1.0, with
the current python 2.4.1 release and windows XP-something-er-other.
Is this a known issue?
thanks
donour
···
Donour Sizemore donour@cs.uchicago.edu|
Technical Programmer & Numerical Analyst |
Economics Research Center Ph: 773-834-4399 |
University of Chicago Office: Walker 303-a |
Donour Sizemore wrote:
I have an application that relies on the drawXXXlist functions in
wxpython. I've been getting some reports from windows users that
screen updates are happening in a completely unpredictable fashion.
I don't have windows available, so I an unable to track down issue.
I was able, however, to secure access to a windows box for a few
minutes this afternoon -- just long enough to try the demo applications.
I found that the the drawXXXList demo doesn't correctly update
the center of the wx.PaintDC. This was on wxPython 2.6.1.0, with
the current python 2.4.1 release and windows XP-something-er-other.
Is this a known issue?
No it's not. I wrote a bunch of the drawXXXList code (based on Robin's code) and the demo. However, I work primarily on Linux and sometimes OS-X and very rarely Windows.
When you say that it doesn't correctly update the "center" of the wx.paintDC, does it update the non-center? This is weird. All the DrawXXXList calls do is loop through the data passed in and make the usual wx.DC calls, so I can't imagine how this could happen.
That being said, it sounds a bit like there is a problem with the Clipping Region being set wrong. In theory, in a wx.PaintDC, the clipping region is set so that only the part of the Window that needs re-painting gets re-painted. You could try explicitly checking and or destroying the clipping region:
wx.DC.GetClippingBox
wx.DC.SetClippingRegion
Perhaps when Robin gets back, he'll have other ideas.
-Chris
···
--
Christopher Barker, Ph.D.
Oceanographer
NOAA/OR&R/HAZMAT (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov
Did you try Freeze/Thaw() ?
Donour Sizemore wrote:
···
On Aug 11, 2005, at 2:51 PM, Chris Barker wrote:
Donour Sizemore wrote:
Chris
I wanted to touch base with this one again. I didn't find
anything useful when I took a look at the clipping region.
It seemed to always be set to (0,0,0,0). Again, I don't really
have access to windows to test.
Oh well. I guess we'll have to wait until someone on Windows wants to try to figure it out...that may be me in a few months, but I'm not sure yet.
Yeah, I don't have the resources or time to fix this right now. I worked around it
by doing a Show(false)/Show(true) on the parent panel if sys.platform is win32.
That seems to alleviate the issue, although it destroys my performance (some of my
draws are to realtime plots). Oh well, windows users are probably used to
people telling them to buy a faster computer anyway.
d
>Donour Sizemore (donour@cs.unm.edu)|
>University Of New Mexico |
---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-users-unsubscribe@lists.wxwidgets.org
For additional commands, e-mail: wxPython-users-help@lists.wxwidgets.org