Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] [CompositeTable] fast scrolling behaves oddly

great!! My (possible) fix is still on my harddrive. I'll post the
appropriate patch to bugzilla today and I'll notifiy ya. Thanks for the
testing!

Greetings
André

> yeah. since yesterday ;-) Should I check out from CVS and do what
> afterwards?
>
> Tom
>
> David J. Orme schrieb:
>> This sounds correct.  Wow, you really have deeply understood how
>> CompositeTable works.  Please file a bug and I'll test on Win32.  Is
>> there anyone out there with a Mac?
>>
>>
>> Regards,
>>
>> Dave Orme
>>
>> -------
>> thanks a lot for the positive feedback! Always nice to hear :-)
>>
>> I have a more pickier problem I just managed to solve for GTK+ (I'll
>> test things on Win32 asap) and I would appreciate a lot your ideas on
>> this issue & my possible fix as this one gets deeper into
>> compositeTable and SWT. But take your time! I really do not want to
>> put more stress on you than you certainly already have :-(
>>
>> The issue can be experienced when you scroll the table by mouse-wheel
>> very fast and you scroll the current row outside the viewport. It gets
>> more frequent the more widgets are visible (the more complex a row
>> is). The issue is that an arbitrary scrolled-in row (after the current
>> row was scrolled out) gets focused and gets 'current row' - I clearly
>> tracked it down to focusGained() in InternalComposite. I believe that
>> the newly focused row is actually the one that got scrolled out and
>> was repositioned to the top (and refreshed with new model-content).
>> I believe that this is due to deferredSetFocus() that gets delayed a
>> lot and gets executed only when the row was repositioned and scrolled
>> in (on the top) again.
>> My possible fix (tested for GTK) is to keep track of the control to
>> focus delayedly (asyncExec) by setting the instance variable
>> this.toFocus. Furthermore to clear that instance variable on row
>> departure & fire a focusOut-event on the other hand. I try to prevent
>> any deferredSetFocus() that would focus any control that was departed
>> and is visible again, when asyncExec finally gets executed.
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> nebula-dev mailing list
>> nebula-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/nebula-dev
>
> _______________________________________________
> nebula-dev mailing list
> nebula-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/nebula-dev
>
>
> !DSPAM:45ebbb4e199136697410382!


-- 
André Dietisheim
Stv-Bereichsleiter Products

Puzzle ITC GmbH
Eigerplatz 4
CH-3007 Bern
Telefon +41 31 370 22 00
Mobile  +41 76 423 03 02
Fax     +41 31 370 22 01

Puzzle ist Mitglied der ODF Alliance:
<http://www.puzzle.ch/odfalliance/>




Back to the top