Opened 10 years ago

Closed 10 years ago

#3865 closed bug (invalid)

DrawAfterChildren() isn't called after changing of tab

Reported by: shinta Owned by: axeld
Priority: normal Milestone: R1
Component: Kits/Interface Kit Version: R1/pre-alpha1
Keywords: Cc: shinta.0806@…
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

When BView "ParentView" has the child BTabView "ChildView" and "ChildView"'s selection of tab is changed, "ParentView"'s DrawAfterChildren() isn't called.

Haiku: hrev30186
SHINTA (Bug No.22)

Change History (5)

comment:1 Changed 10 years ago by shinta

Cc: shinta.0806@… added

comment:2 Changed 10 years ago by stippi

You are probably mixing up different things. DrawAfterChildren() is only called if your (parent) view has the flag "B_DRAW_ON_CHILDREN" set. BTabViews do not have this flag set, unless you manually added this flag yourself. If you have not done so, this bug is invalid. Have you added the flag?

comment:3 Changed 10 years ago by stippi

I looked at the BeBook documentation for DrawAfterChildren() again. It is unfortunately not clear, but I am pretty sure I checked the BeOS behavior. The documentation hints that you want to use this for the rare case where you want to paint *on* children, but it doesn't mention the fact that this is only possible if you also have the B_DRAW_ON_CHILDREN flag set. Anyways, although the documentation may be misleading, Haiku should be 100% compatible with BeOS in this regard, I wrote a specific test application for this to cover various situations. DrawOnChildren() is never called if the flag is not set. It doesn't make any sense either, since if you don't paint *on* children, the drawing order is irrelevant.

comment:4 Changed 10 years ago by shinta

Oh! Thank you for advice!

I can get desired result by Adding B_DRAW_ON_CHILDREN flag to the parent BView.

comment:5 Changed 10 years ago by stippi

Resolution: invalid
Status: newclosed

Thanks for the note.

Note: See TracTickets for help on using tickets.