Issue with OnInternalIdle() in wx.lib.agw.customtreectrl

Dear all,

I am a relatively new to wxpython … and this is also the first posting i am making in this mailing list.
I am using “wxPython-2.8.11.0 (gtk2-unicode)” on an Ubuntu 10.10. I am using both Python 2.6 and 2.7

I have been developing a wxPython application that uses Aui’s Aui.Manager() for managing several
Docking windows. But now when I added a customtreectrl to a panel and added it as a docking window
using Aui … i have run into some problems. Everything works fine as long as I don’t move my customtreectrl
docking pane.
http://www.postimg.com/image/65000/photo-64933.jpg

But when i move the docking pane to a new location it goes blank and stops responding to events

http://www.postimg.com/image/65000/photo-64934.jpg

On looking at the CustomTreeCtrl source code and after some tiral and error I could make out that
if I remove the OnInternalIdle() method from the CustomTreeCtrl and add the code that is inside it
to the OnPaint() (wx.EVT_PAINT event handler) the problem is solved

http://www.postimg.com/image/65000/photo-64935.jpg

But now the issue is that I have to add the Refresh() funcion in each event that i need the
tree to be updated. Also i haven’t thoroughly tested it and so can’t be sure of any new problems
it might have introduced
From what I have read from the source code I believe OnInternalIdle()
is the main function which is relied for updating the tree on idle times …
I tried using the CustomTreeCtrl Class from the Latest WxPython source code …
But still the problem persists.

I have created a small minimal Sample Application SampleApp which shows the same issues

SampleApp when it is Open and the Plot Panel (the CustomTreeCtrl Pane) is unmoved
http://www.postimg.com/image/65000/photo-64936.jpg

SampleApp when the Plot Panel (the CustomTreeCtrl pane) is moved
http://www.postimg.com/image/65000/photo-64941.jpg

SampleApp with my edited CustomTreeCtrl for Plot Panel in moved state
http://www.postimg.com/image/65000/photo-64946.jpg

Any help would be very much appreciated. I could use the normal wx.TreeCtrl
but the CustomTreeCtrl is such a nice Class I would do anything to use it.

regards
Anoop Thykkandiyil
anoop.thykkandiyil@gmail.com

DockingTreeWindowUnmoved.jpg

EditedCustomTreeCtrl.jpg

SamplAPpNoProblemForEditedCtrl.png

SamplApp Using LatestVersionOfCustomTreeCtrl.tar.bz2 (39.6 KB)

SamplApp Using MyEditedCustomTreeCtrl.tar.bz2 (38.3 KB)

SamplApp Using WxPython-2.8.11.0 (gtk2-unicode).tar.bz2 (1.23 KB)

SampleAppNormal.png

SampleAppWindowMovingIssue.png