Making wxTreeListCtrl visible from Python

I'm sure I've forgotten some of them now, but these are some of the issues
(BTW - I still think SplitTree is cool - it got me started on a project I
needed to do very quickly):

1. Horrible performance on big trees. I needed to display a root node with
28,000 children and it draws and scrolls really badly. I suspect this is
because IsVisible is broken for wxTreeCtrl and so DrawItem in the companion
window is called for every item in the tree whenever the tree needs to be
redrawn (e.g. scrolling). A quick test with wxTreeListCtrl seems to handle
big trees with ease.

2. Can exhibit really intense flickering under XP when expanding/contracting
a node. This seems to be because SplitTree and the underlying wxTreeCtrl
fight over a scrollbar at the side of the tree, the wxTreeCtrl draws it, and
the SplitTree hides it, over and over and over again. I've only seen this
behaviour on XP, not on windows 2000, and it doesn't happen reliably, so I'm
not sure what the trigger is.

3. I can't get it work with a hidden root node - maybe not a big issue. (I
get some sort of major error - forgotten what it is now)

4. No labels on the columns. I rolled some into a subclass of SplitTree
here, but getting the resizing right etc. was a pain.

5. You have to draw your own multiple columns in the companion windows (as
in, do some DrawText into a rectangle whose dimensions you compute), and if
you want to be able to resize the individual columns from the UI, you need
to implement it yourself. (I didn't)

6. OnCompareItems isn't overloadable from Python. I believe it is
overloadable from wxTreeCtrl.

Those are the main issues I've come up against. Really wxTreeListCtrl is a
cleaner idea and I believe will address all of the above. If I can get it to
work from python :). Diving into the world of python_d now ... hopefully

S.

···

-----Original Message-----
From: David C. Fox [mailto:davidcfox@post.harvard.edu]
Sent: Monday, March 24, 2003 3:52 PM
To: wxPython-users@lists.wxwindows.org
Subject: Re: [wxPython-users] Making wxTreeListCtrl visible
from Python

Sean Slattery wrote:
> After getting an application running with the SplitTree control, its
> shortcomings are now becomming apparent and I am motivated
to try and get
> wxTreeListCtrl usable from wxPython. I'm am notifying
people here just in
> case someone has already done some work in this area, or in
case someone
> wants to offer to help a relative newbie out.
>

I've got some future apps in which I planned to use SplitTree, so I'm
curious what shortcomings you found. Could you list them briefly?

David

---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-users-unsubscribe@lists.wxwindows.org
For additional commands, e-mail:
wxPython-users-help@lists.wxwindows.org

Is that usable from a human perspective? I mean having a root node with
28,000 children and scrolling through them?

···

On Tuesday 25 March 2003 02:46 am, Sean Slattery wrote:

1. Horrible performance on big trees. I needed to display a root node
with 28,000 children and it draws and scrolls really badly. I suspect
this is because IsVisible is broken for wxTreeCtrl and so DrawItem in
the companion window is called for every item in the tree whenever
the tree needs to be redrawn (e.g. scrolling). A quick test with
wxTreeListCtrl seems to handle big trees with ease.

--
Chuck
http://ChuckEsterbrook.com