oops… bad paste. I meant this:
recalculateVerticalScrollBar
| interval delta pageDelta visibleRows numberOfRows |
self hasDataSource ifFalse: [ ^ self ].
self recalculateVerticalScrollBarVisibilityIfHidden: [ ^ self ].
visibleRows := self container calculateExactVisibleRows.
numberOfRows := self dataSource numberOfRows.
interval := (visibleRows / numberOfRows) asFloat.
delta := 1/visibleRows.
pageDelta := visibleRows.
self verticalScrollBar
scrollDelta: delta pageDelta: pageDelta;
interval: interval
> On 07 Jul 2015, at 16:58, Esteban Lorenzano <[email protected]> wrote:
>
> no idea :)
> in fact, I was trying to fix that right now (scroll bars are not working well
> in FT, yet).
> most of this I took it from older list implementation and I’m not quitte sure
> how they work.
>
> I think a better implementation would be:
>
> recalculateVerticalScrollBar
> | interval delta pageDelta visibleRows numberOfRows |
>
> self hasDataSource ifFalse: [ ^ self ].
>
> self recalculateVerticalScrollBarVisibilityIfHidden: [ ^ self ].
>
> visibleRows := self container calculateExactVisibleRows.
> numberOfRows := self dataSource numberOfRows.
> interval := (visibleRows / numberOfRows) asFloat.
> delta := 1/visibleRows.
> pageDelta := (self innerBounds height - 10) / visibleRows.
> self verticalScrollBar
> scrollDelta: delta pageDelta: pageDelta;
> interval: interval
>
>
> but it still does not feels “good”.
> Any help here is welcome :)
>
> Esteban
>
>
>> On 07 Jul 2015, at 16:41, Stephan Eggermont <[email protected]> wrote:
>>
>> I don't understand the step size of the fast table scroll bar.
>> What does container bottom have to do with delta & pageDelta?
>>
>> recalculateVerticalScrollBar
>> | interval delta pageDelta visibleRows numberOfRows |
>>
>> self hasDataSource ifFalse: [ ^ self ].
>>
>> self recalculateVerticalScrollBarVisibilityIfHidden: [ ^ self ].
>>
>> visibleRows := self container calculateExactVisibleRows.
>> numberOfRows := self dataSource numberOfRows.
>> interval := (visibleRows / numberOfRows) asFloat.
>> delta := 1/(self container bottom).
>> pageDelta := (self innerBounds height - 10) / (self container bottom).
>> self verticalScrollBar
>> scrollDelta: delta pageDelta: pageDelta;
>> interval: interval
>>
>>
>