[VW7.4] Flashing Scrollbars

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

[VW7.4] Flashing Scrollbars

Stew MacLean

Hi,

 

After spending quite a few hours trying to figure out why my DataSet scrollbars were being drawn in a piecemeal fashion, I’ve finally tracked it down to the hardwired repairNow: false within invalidateRectange:. This was causing the up/down arrows invalidation being added to the damage list, whilst the marker is being invalidated immediately. Thus the up/down arrows would change their display only when a later damage event comes in. This looked strange under the XP look.

 

After initial testing this works rather well (maybe useful for others?), however I was wondering if this might have some nasty side effects?

 

Cheers,

 

Stewart

 

PS Interestingly the scrollbars flash under 7.2, but not in the same fashion. I haven’t been able to determine if that’s underlying behaviour, or something I’ve done.

 

 

ScrollerButtonView>>invalidateRectangle: aRectangle

            "Determine the value of repairNow depending on whether the topComponent has

            invalidation suppressed or not.

            This causes synchronous displaying of scroll bar components, rather than piecemeal displaying

            later via damage events.

            See also shouldBeActive, upButtonFor: aScrollWrapper, setVisibility: aBoolean,

            displayMarkerOn: aGraphicsContext, and downcastEvent: #visibility with: self shouldBeActive from:.

            03/06/06 SIM.

            Invalidate the Rectangle aRectangle.

            Propagate a damage rectangle up the containment hierarchy.

            This will result in a displayOn: aGraphicsContext being sent to the receiver."

 

            self baseSystemChange.

 

            self

                        invalidateRectangle: aRectangle

                        repairNow: "false" self topComponent sensor invalidationSuppressed not