Styles and events hunter

I recently came across the following on Mike's blog.

http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/

Would be neat if something like this could be integrated into the wxPython demo, maybe part of Phoenix?

Werner

Hi Werner,

I recently came across the following on Mike’s blog.

http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/

Would be neat if something like this could be integrated into the wxPython demo, maybe part of Phoenix?

It’s already there in wxPython 2.9, I have implemented the changes to the demo a while back. Under the “Options” menu, check if the “Allow download of docs” is checked and watch what happens when you select one of the (wxWidgets-derived) controls demo. The docs are pulled from the nightly builds of the wxWidgets docs (unfortunately this feature is not available for pure-Python controls - i.e., wx.lib, AGW and so on. Maybe one day, with Sphinx-generated wxPython docs… but I am working on that, stay tuned the next few days for a couple of nice additions to wxPython/Phoenix.)

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 28 September 2011 17:55, werner wrote:

import wx

Hi Werner,

      I recently came across the following on

Mike’s blog.

      [http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/](http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/)



      Would be neat if something like this could be integrated into

the wxPython demo, maybe part of Phoenix?

      It's already there in wxPython 2.9, I have implemented the

changes to the demo a while back. Under the “Options” menu,
check if the “Allow download of docs” is checked and watch
what happens when you select one of the (wxWidgets-derived)
controls demo.

Time machine?

      The docs are pulled from the nightly builds of the

wxWidgets docs (unfortunately this feature is not available
for pure-Python controls - i.e., wx.lib, AGW and so on. Maybe
one day, with Sphinx-generated wxPython docs… but I am
working on that, stay tuned the next few days for a couple of
nice additions to wxPython/Phoenix.)

A "hick up" after I check the option, agw widget doc pages are

messed up, see
attached.
Werner

···

:frowning:

Hi Werner,

Hi Werner,

      I recently came across the following on

Mike’s blog.

      [http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/](http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/)



      Would be neat if something like this could be integrated into

the wxPython demo, maybe part of Phoenix?

      It's already there in wxPython 2.9, I have implemented the

changes to the demo a while back. Under the “Options” menu,
check if the “Allow download of docs” is checked and watch
what happens when you select one of the (wxWidgets-derived)
controls demo.

Time machine?

Possibly :slight_smile:

      The docs are pulled from the nightly builds of the

wxWidgets docs (unfortunately this feature is not available
for pure-Python controls - i.e., wx.lib, AGW and so on. Maybe
one day, with Sphinx-generated wxPython docs… but I am
working on that, stay tuned the next few days for a couple of
nice additions to wxPython/Phoenix.)

A "hick up" after I check the option, agw widget doc pages are

messed up :frowning: , see
attached.

Yes, I know about this one. I think the fault lies in the code I added to the wxPython demo, it checks if the docs can be downloaded from the wxWidgets website but then, irrespectively of this check, it concatenates the original docs with the (supposedly) downloaded ones. When these are empty, the doc gets messed up. I’ll check if I can fix it (the error is most probably located in the LoadDocumentation method - hint hint for a patch, Werner :smiley: ).

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 29 September 2011 00:29, werner wrote:

On 09/28/2011 09:07 PM, Andrea Gavana wrote:

On 28 September 2011 17:55, werner wrote:

import wx

Fixed in SVN.

Andrea.

···

On 29 September 2011 00:40, Andrea Gavana wrote:

Hi Werner,

On 29 September 2011 00:29, werner wrote:

On 09/28/2011 09:07 PM, Andrea Gavana wrote:

Hi Werner,

On 28 September 2011 17:55, werner wrote:

      I recently came across the following on

Mike’s blog.

      [http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/](http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/)



      Would be neat if something like this could be integrated into

the wxPython demo, maybe part of Phoenix?

      It's already there in wxPython 2.9, I have implemented the

changes to the demo a while back. Under the “Options” menu,
check if the “Allow download of docs” is checked and watch
what happens when you select one of the (wxWidgets-derived)
controls demo.

Time machine?

Possibly :slight_smile:

      The docs are pulled from the nightly builds of the

wxWidgets docs (unfortunately this feature is not available
for pure-Python controls - i.e., wx.lib, AGW and so on. Maybe
one day, with Sphinx-generated wxPython docs… but I am
working on that, stay tuned the next few days for a couple of
nice additions to wxPython/Phoenix.)

A "hick up" after I check the option, agw widget doc pages are

messed up :frowning: , see
attached.

Yes, I know about this one. I think the fault lies in the code I added to the wxPython demo, it checks if the docs can be downloaded from the wxWidgets website but then, irrespectively of this check, it concatenates the original docs with the (supposedly) downloaded ones. When these are empty, the doc gets messed up. I’ll check if I can fix it (the error is most probably located in the LoadDocumentation method - hint hint for a patch, Werner :smiley: ).

Andrea,

...

Fixed in SVN.

Time machine again?

How did you fix it, I just commented two lines and added one at the end of StopDownload:)

# text = self.curOverview
# self.ovr.SetPage(text)
         self.SetOverview(self.demoModules.name + " Overview", self.curOverview)

Werner

···

On 09/29/2011 12:03 AM, Andrea Gavana wrote:

The version integrated into the demo works fine but I thought I
would install the stand-alone version and have it pinned to my
Windows 7 task-bar for quick reference to cut down on the need to
use the wxWidgets C++ style docs * so much, but there seems to be a
problem with the version dated 21 Apr 2010 using wx.2.9.2 both on
Windows and OS X (I think the [earlier?] version downloaded from the
above blog was OK). After double clicking the required entry - and
seeing the ‘downloading…’ messages, nothing appears in the
right-hand pane until the left pane is maximised and reduced again.

A suggestion. Would it be possible to make a selection from the tree

with a single click, in the style of selecting in the demo? It isn’t
obvious that a double click is required.

Also, what is the purpose of the **Close** button for the left

hand pane/tree? Once closed , there doesn’t seem to be any way of
re-opening it to do anything else - or is it me being stupid?

* The wxWidget docs seem to have taken a turn for the worse at

version 2.9. In the Index view it used to be possible to click on a
sub-heading, such as a method of a control and go straight to it.
Now everything seems to point to the control’s main entry point,
which is a pain when there are dozens of methods as in wx.Grid - or,
again, is it just me?

···

-- Regards
David Hughes
Forestfield Software

Hi David,

Hi Werner,

      I recently

came across the following on Mike’s blog.

      [http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/](http://www.blog.pythonlibrary.org/2011/07/25/wxpython-windows-styles-and-events-hunter/)



      Would be neat if something like this could be integrated into

the wxPython demo, maybe part of Phoenix?

      It's already there in wxPython 2.9, I have implemented the

changes to the demo a while back. Under the “Options” menu,
check if the “Allow download of docs” is checked and watch
what happens when you select one of the (wxWidgets-derived)
controls demo.

The version integrated into the demo works fine but I thought I

would install the stand-alone version and have it pinned to my
Windows 7 task-bar for quick reference to cut down on the need to
use the wxWidgets C++ style docs * so much, but there seems to be a
problem with the version dated 21 Apr 2010 using wx.2.9.2 both on
Windows and OS X (I think the [earlier?] version downloaded from the
above blog was OK). After double clicking the required entry - and
seeing the ‘downloading…’ messages, nothing appears in the
right-hand pane until the left pane is maximised and reduced again.

A suggestion. Would it be possible to make a selection from the tree

with a single click, in the style of selecting in the demo? It isn’t
obvious that a double click is required.

Also, what is the purpose of the **Close** button for the left

hand pane/tree? Once closed , there doesn’t seem to be any way of
re-opening it to do anything else - or is it me being stupid?

Thank you for the suggestions. I haven’t developed further the standalone EventsInStyle application since April 2010, although your comments made me re-think this strategy and I came out with a new version (attached to this message, and also on my webpage: http://xoomer.virgilio.it/infinity77/Zipped/EventsInStyle.py).

I implemented all your suggestions in the tool and made the widgets/events importing dynamic, so there is no need anymore of long list of widgets and event names. With the new version, however, I can not reproduce the issue you mentioned about maximizing/reducing the left pane to get the right pane content. Could you please check if the new version works for you?

Anyway, I tested it on Windows 7 and Windows Vista, wxPython 2.8.12 and 2.9.2.4, Python 2.5 and 2.7. If someone could try it also on Linux and/or Mac, it would be very helpful if you reported back any strange behaviour (i.e., bugs in my crappy code).

* The wxWidget docs seem to have taken a turn for the worse at

version 2.9. In the Index view it used to be possible to click on a
sub-heading, such as a method of a control and go straight to it.
Now everything seems to point to the control’s main entry point,
which is a pain when there are dozens of methods as in wx.Grid - or,
again, is it just me?

No, I agree with you. I’d also add that the CHM file shipped with wxPython has become harder to navigate with respect to the one in the 2.8.11 version (prior to Doxygen? I am not sure about this). Anyway, wxPython docs on Sphinx-mode are finally on sight (time and job and family permitting, possibly for Phoenix only - depending on the future release schedule/plans Robin has).

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

EventsInStyle.py (68.7 KB)

···

On 30 September 2011 17:41, David Hughes wrote:

On 28/09/2011 20:07, Andrea Gavana wrote:

On 28 September 2011 17:55, werner wrote:

import wx

<Snip>

Thank you for the suggestions. I haven't developed further the
standalone EventsInStyle application since April 2010, although your
comments made me re-think this strategy and I came out with a new
version (attached to this message, and also on my
webpage: http://xoomer.virgilio.it/infinity77/Zipped/EventsInStyle.py).

I implemented all your suggestions in the tool and made the
widgets/events importing dynamic, so there is no need anymore of long
list of widgets and event names. With the new version, however, I can
not reproduce the issue you mentioned about maximizing/reducing the
left pane to get the right pane content. Could you please check if the
new version works for you?

Anyway, I tested it on Windows 7 and Windows Vista, wxPython 2.8.12
and 2.9.2.4, Python 2.5 and 2.7. If someone could try it also on Linux
and/or Mac, it would be very helpful if you reported back any strange
behaviour (i.e., bugs in my crappy code).

<SniP>

Andrea,
Both the attached to the message and the web versions did not work for
me - blank page on clicking anything until I commented out line 1366 -
"self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, None, self.centerPanel)"
- as it was causing an assert error. Works fine after that.
I was using Windows 7, Python 2.6 (r26:66721, Oct 2 2008, 11:35:03)
[MSC v.1500 32 bit (Intel)] on win32, wx.version() '2.8.12.0 (msw-unicode)'.

Gadget/Steve

    Thank you for the suggestions. I haven't developed further

the standalone EventsInStyle application since April 2010,
although your comments made me re-think this strategy and I came
out with a new version (attached to this message, and also on my
webpage: http://xoomer.virgilio.it/infinity77/Zipped/EventsInStyle.py ).

That's great. Many thanks - and for such a swift response.
    I implemented all your suggestions in the tool and made the

widgets/events importing dynamic, so there is no need anymore of
long list of widgets and event names.

I am not sure what you mean by this. Where should I see the effects

of this change?

    With the new version, however, I can not reproduce the issue

you mentioned about maximizing/reducing the left pane to get the
right pane content. Could you please check if the new version
works for you?

That problem has gone away. It works OK now.
    Anyway, I tested it on Windows 7 and Windows Vista, wxPython

2.8.12 and 2.9.2.4, Python 2.5 and 2.7. If someone could try it
also on Linux and/or Mac, it would be very helpful if you
reported back any strange behaviour (i.e., bugs in my crappy
code).

I tested on Mac OS X 10.6.8  and 10.7.1 (wx 2.9.2.2 and Python 2.7).

The only effect I noticed is that the Style or Event names displayed
in the first column are shown in a faint greyed-out font after the
information has been downloaded. If you redisplay the information in
any way, the appearance is normal. You can see the same effect on
Windows, very briefly after the download before the display is
repainted automatically.

The only comment I have now is that the only thing that tells you

what the displayed styles/events belong to is the name highlighted
in the tree. Unfortunately these get out of step if there is no
documentation found for a selected item (and there a re quite a few
of these). The tree shows the new selection while the styles/events
still display the results of the previous selection. Maybe the name
of the current display item could be appended to the frame title?

      * The wxWidget docs seem to have taken a turn for the worse at

version 2.9.

    No, I agree with you. I'd also add that the CHM file shipped

with wxPython has become harder to navigate with respect to the
one in the 2.8.11 version

Yes it's the CHM file I was referring to, I didn't say so as clearly

as I should.

···

-- Regards
David Hughes
Forestfield Software

I get a message dialog stating that no documentation was found, but
when closing that it is not that obvious that the information shown
is for another control/widget. Either David’s suggestion or maybe
just clearing the documentation if nothing is found.

Ubuntu 10.10 - Python 2.6.6 and wxPython 2.8.12.1

Windows 7 - Python 2.7.2 and wxPython 2.9.2.4 (with wx.lib.agw from

SVN) I get this traceback:

Traceback (most recent call last):

  File "EventsInStyle.py", line 1590, in <module>

    frame = EventsInStyle(None, -1, "Events In Style :-D",

size=(950, 750))

  File "EventsInStyle.py", line 1148, in __init__

    self._mgr.SetArtProvider(aui.ModernDockArt(self))

  File

“C:\Python27\lib\site-packages\wx-2.9.2-msw\wx\lib\agw\aui\dockart.py”,
line 919, in init self.hTheme1 =
winxptheme.OpenThemeData(hwnd, “Window”)

NameError: global name 'winxptheme' is not defined

Even after updating to Revision 69265.

Note that I have ctypes (included with Py 2.7) but I haven't yet

installed pywin32 stuff on that machine (actually a VirtualBox VM
running under Ubuntu).

Change around line 1147 of EventsInStyle.py as follows:

        if wx.Platform == "__WXMSW__":

            try:

                import winxptheme

                self._mgr.SetArtProvider(aui.ModernDockArt(self))

            except ImportError:

                pass

Probably not the best fix, but anyhow it works for me without

pywin32 and also after installing it.

Werner
···

On 10/01/2011 10:49 AM, David Hughes wrote:

  The only comment I have now is that the only thing that tells you

what the displayed styles/events belong to is the name highlighted
in the tree. Unfortunately these get out of step if there is no
documentation found for a selected item (and there a re quite a
few of these). The tree shows the new selection while the
styles/events still display the results of the previous selection.
Maybe the name of the current display item could be appended to
the frame title?

Hi David, Werner,

    I implemented all your suggestions in the tool and made the

widgets/events importing dynamic, so there is no need anymore of
long list of widgets and event names.

I am not sure what you mean by this. Where should I see the effects

of this change?

On the left tree control. In previous versions I was simply hard-coding the widgets/events names in the source code, so many of them got left out (especially since wxPython 2.9 came out, we got a bunch of new classes coming in). Right now everything that is a subclass of wx.EvtHandler is in the “Widgets” sub-tree somewhere and everything that is a subclass of wx.Event is in the “Events” sub-tree.

I tested on Mac OS X 10.6.8  and 10.7.1 (wx 2.9.2.2 and Python 2.7).

The only effect I noticed is that the Style or Event names displayed
in the first column are shown in a faint greyed-out font after the
information has been downloaded. If you redisplay the information in
any way, the appearance is normal. You can see the same effect on
Windows, very briefly after the download before the display is
repainted automatically.

This I can’t see on my machine… either I got a super fast computer or I am missing something… I am not setting any grey colour anywhere nor disabled controls… uhm, can it be that wx.lib.stattext or wx.lib.expando are playing tricks somehow? I have put a Refresh() and Update() call right after all the controls have been added but I have no idea if this fixes the problem.

Uhm, sorry, I’ll backtrack… It doesn’t happen with 2.8.11, but I can see it with 2.9.2.4… This is weird, it seems like calling ProgressDialog.Destroy() is disabling all the widgets in the interface for a brief moment. There is nothing strange I am doing except calling Freeze and Thaw between the end of the downloading process and the final display of the widgets. Maybe Robin could comment on this?

The only comment I have now is that the only thing that tells you

what the displayed styles/events belong to is the name highlighted
in the tree. Unfortunately these get out of step if there is no
documentation found for a selected item (and there a re quite a few
of these). The tree shows the new selection while the styles/events
still display the results of the previous selection. Maybe the name
of the current display item could be appended to the frame title?

Done. I also added a red-cross icon for item which do not have docs on the wxWidgets website.

New version here:

http://xoomer.virgilio.it/infinity77/Zipped/EventsInStyle.py

Thanks to everyone for your suggestions, keep them coming :smiley:

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 1 October 2011 11:49, David Hughes wrote:

On 30/09/2011 22:29, Andrea Gavana wrote:

import wx

        I tested on Mac OS X 10.6.8  and 10.7.1 (wx

2.9.2.2 and Python 2.7). The only effect I noticed is that
the Style or Event names displayed in the first column are
shown in a faint greyed-out font after the information has
been downloaded. If you redisplay the information in any
way, the appearance is normal. You can see the same effect
on Windows, very briefly after the download before the
display is repainted automatically.

    This I can't see on my machine... either I got a super fast

computer or I am missing something… I am not setting any grey
colour anywhere nor disabled controls… uhm, can it be that
wx.lib.stattext or wx.lib.expando are playing tricks somehow? I
have put a Refresh() and Update() call right after all the
controls have been added but I have no idea if this fixes the
problem.

    Uhm, sorry, I'll backtrack... It doesn't happen with 2.8.11,

but I can see it with 2.9.2.4… This is weird, it seems like
calling ProgressDialog.Destroy() is disabling all the widgets in
the interface for a brief moment. There is nothing strange I am
doing except calling Freeze and Thaw between the end of the
downloading process and the final display of the widgets. Maybe
Robin could comment on this?

The problem is still there, attached is a Mac screen shot which is

easier to capture because the effect remains visible until the
display is refreshed, e.g. by selecting the Events tab then back to
Styles. I will try and investigate further later on when I have more
time.

      The only comment I have now is that the only thing that tells

you what the displayed styles/events belong to is the name
highlighted in the tree. Unfortunately these get out of step
if there is no documentation found for a selected item (and
there a re quite a few of these). The tree shows the new
selection while the styles/events still display the results of
the previous selection. Maybe the name of the current display
item could be appended to the frame title?

    Done. I also added a red-cross icon for item which do not

have docs on the wxWidgets website.

Looks good to me.

···

-- Regards
David Hughes
Forestfield Software

Andrea,

Nice work - (as always) - but can I suggest adding the "No

Documentation Found" message to the displayed page rather than as a
dialogue as when browsing through the classes having to keep saying
OK is a little frustrating.

Gadget/Steve
···

wxPython-users+unsubscribe@googlegroups.com
http://groups.google.com/group/wxPython-users?hl=en

Hi Steve,

Andrea,

Nice work - (as always) - but can I suggest adding the "No

Documentation Found" message to the displayed page rather than as a
dialogue as when browsing through the classes having to keep saying
OK is a little frustrating.

Thank you for this suggestion, I was becoming annoyed as well by this behaviour. Implemented now in version 1.0 on my website.

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 4 October 2011 14:25, Gadget/Steve wrote:

import wx

Hi Steve,

Andrea,

        Nice work - (as always) - but can I suggest adding the "No

Documentation Found" message to the displayed page rather
than as a dialogue as when browsing through the classes
having to keep saying OK is a little frustrating.

      Thank you for this suggestion, I was becoming annoyed as

well by this behaviour. Implemented now in version 1.0 on my
website.

Marvellous - much more usable that way.

Gadget/Steve
···

wxPython-users+unsubscribe@googlegroups.com
http://groups.google.com/group/wxPython-users?hl=en

It is the ProgressDialog coupled, I think, to the fact the work
being progressed is in a separate thread. There are warnings about
this in the Detailed Description section of the PD in the CHM docs -
which I don’t really understand, but even so I don’t think
everything is working as it should in wx 2.9. Replacing the PD by
Begin & EndBusyCursor calls works OK, as does removing the
thread and putting the URL activity directly into ReadStyleDocs.

One other thing. If you look at the Event Description of

ColourPickerCtrl in Windows, the apostrophe (actually a right,
single quote) in user’s comes out as three accented
characters, which are actually the utf-8 byte sequence \xe2\x80\x99
for the unicode (U2019) of the quote symbol. OS X is using the ascii
codec and raises a UnicodeDecodeError. Both Windows and OS X are OK
when line 816 of your latest release is changed to

         originalText = unicode(fid.read(), 'utf-8')
···

-- Regards
David Hughes
Forestfield Software

Hi David,

          I tested on Mac OS X 10.6.8  and 10.7.1 (wx

2.9.2.2 and Python 2.7). The only effect I noticed is that
the Style or Event names displayed in the first column are
shown in a faint greyed-out font after the information has
been downloaded. If you redisplay the information in any
way, the appearance is normal. You can see the same effect
on Windows, very briefly after the download before the
display is repainted automatically.

      This I can't see on my machine... either I got a super fast

computer or I am missing something… I am not setting any
grey colour anywhere nor disabled controls… uhm, can it be
that wx.lib.stattext or wx.lib.expando are playing tricks
somehow? I have put a Refresh() and Update() call right after
all the controls have been added but I have no idea if this
fixes the problem.

      Uhm, sorry, I'll backtrack... It doesn't happen with

2.8.11, but I can see it with 2.9.2.4… This is weird, it
seems like calling ProgressDialog.Destroy() is disabling all
the widgets in the interface for a brief moment. There is
nothing strange I am doing except calling Freeze and Thaw
between the end of the downloading process and the final
display of the widgets. Maybe Robin could comment on this?

  The problem is still there, attached is a Mac screen shot which is

easier to capture because the effect remains visible until the
display is refreshed, e.g. by selecting the Events tab then back
to Styles. I will try and investigate further later on when I have
more time.

  [](http://groups.google.com/group/wxPython-users?hl=en)
It is the ProgressDialog coupled, I think, to the fact the work

being progressed is in a separate thread. There are warnings about
this in the Detailed Description section of the PD in the CHM docs -
which I don’t really understand, but even so I don’t think
everything is working as it should in wx 2.9. Replacing the PD by
Begin & EndBusyCursor calls works OK, as does removing the
thread and putting the URL activity directly into ReadStyleDocs.

Thank you for finding out the issue. I have read the CHM manual as well (after you pointed at it) for wxProgressDialog and especially the “thread” note, and I must say I can’t understand pretty much anything of the explanation. In any case, it was working fine in 2.8, it’s a pity it now behaves in a more or less unpredictable (wrong?) way.

Anyway, I took away entirely the threading approach and used PyBusyInfo as a “please wait” indicator. If this approach gets too much on your (and someone else) nerves, I’ll substitute it with a simple wx.Begin/EndBusyInfo.

One other thing. If you look at the Event Description of

ColourPickerCtrl in Windows, the apostrophe (actually a right,
single quote) in user’s comes out as three accented
characters, which are actually the utf-8 byte sequence \xe2\x80\x99
for the unicode (U2019) of the quote symbol. OS X is using the ascii
codec and raises a UnicodeDecodeError. Both Windows and OS X are OK
when line 816 of your latest release is changed to

         originalText = unicode(fid.read(), 'utf-8')

Thank you, code updated on my website (version 1.1).

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”

http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 5 October 2011 17:59, David Hughes wrote:

On 04/10/2011 12:04, David Hughes wrote:

On 02/10/2011 21:16, Andrea Gavana wrote:

import wx