D6 CardContainer/ListView painting problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

D6 CardContainer/ListView painting problem

Steve Alan Waring
Dolphin 6.02 on WinXP SP2.

I have a Shell that contains a CardContainer. One of the back cards is
a ContainerView that contains a ListView.

When I switch to that card, the listView is not painted correctly (it
appears blank). If I invalidate it somehow (cover it with another
window, or switch tabs ), it then paints correctly.

I have uploaded a simple shell that demonstrates the problem to:

http://stevewaring.net/pac/SWTabListDemo.zip

FWIW: Setting #clipChildren to true stops the problem, but this is just
masking the actual problem. I can see the listView being painted and
then being painted over by the CardContainer's backcolor.

Steve
--
Steve Waring


Reply | Threaded
Open this post in threaded view
|

Re: D6 CardContainer/ListView painting problem

Stefan Schmiedl
On Thu, 16 Mar 2006 18:21:02 -0800, swaring wrote:

> Dolphin 6.02 on WinXP SP2.
>
> I have a Shell that contains a CardContainer. One of the back cards is a
> ContainerView that contains a ListView.
>
> When I switch to that card, the listView is not painted correctly (it
> appears blank). If I invalidate it somehow (cover it with another window,
> or switch tabs ), it then paints correctly.
>
> I have uploaded a simple shell that demonstrates the problem to:
>
> http://stevewaring.net/pac/SWTabListDemo.zip
>
> FWIW: Setting #clipChildren to true stops the problem, but this is just
> masking the actual problem. I can see the listView being painted and then
> being painted over by the CardContainer's backcolor.
>
> Steve

I saw this too in a demo program I did with D6 some time ago.
IIRC the misbehaviour disappeared after using a less dynamic
layout manager than I originally had. I can't remember the details,
but I could probably dig them out, if it would help.

s.


Reply | Threaded
Open this post in threaded view
|

Re: D6 CardContainer/ListView painting problem

Steve Alan Waring
Hi Stefan,

Was it ListView that was not painting properly? Was it in a
CardContainer?

I have had a couple of goes at debugging this, but can't find the
cause.

A fair bit has changed between D5 and D6 that could effect this. The
DolphinWindow windows class no longer has a default class background
brush ... which changes the behavior of #onEraseRequired:, the way
view's backcolor works has had significant changes, layoutMangers now
use the *DeferWindowPos functions, and cardContainer's use TabViewXP
which does all its own painting.

I have tried to isolate each of these changes, but the example still
does not paint properly when first switching to the tab containing the
ListView.

If your example of the problem did not include a CardContainer or a
ListView, that would help to narrow down the problem.

Steve
--
Steve Waring


Reply | Threaded
Open this post in threaded view
|

Re: D6 CardContainer/ListView painting problem

Stefan Schmiedl
On Thu, 23 Mar 2006 19:43:25 -0800, swaring wrote:

> Hi Stefan,
>
> Was it ListView that was not painting properly? Was it in a CardContainer?

Yes and yes.

>
> I have had a couple of goes at debugging this, but can't find the cause.

yes, too :-)

>
> A fair bit has changed between D5 and D6 that could effect this. The
> DolphinWindow windows class no longer has a default class background brush
> ... which changes the behavior of #onEraseRequired:, the way view's
> backcolor works has had significant changes, layoutMangers now use the
> *DeferWindowPos functions, and cardContainer's use TabViewXP which does
> all its own painting.
>
> I have tried to isolate each of these changes, but the example still does
> not paint properly when first switching to the tab containing the
> ListView.

Did you try it with different layout managers? I think that was what it
did for me.

>
> If your example of the problem did not include a CardContainer or a
> ListView, that would help to narrow down the problem.

But that was exactly my setup ... I'll try to dig up my samples later
this week, when I find some spare time.

s.