anchor.diff:  		    scroll_first(S);
   		last ->
   		    scroll_last(S)
  -	    end;
  +            end;
   	true ->
   	    %% Down
   	    OldPos = event_pos(S),
  
positive.code: 	    PixelsPerEvent = Range / EventsPerPage,
  	    Share = EventsPerPage / N,
  	    wxScrollBar:setScrollbar(ScrollBar,
  				     trunc(EventPos * Share * PixelsPerEvent),
  				     round(Share * Range),
  				     Range,
  				     round(Share * Range),
  
negative.code:     end.
  
  jump_up(S, OldKey, OldPos, NewPos) ->
      Try = NewPos - OldPos -1,
      Order = S#state.event_order,
      PrevE =
          if NewPos =:= 0 ->
                  first;
             true ->
                  Fun = fun(Event, #e{pos = P}) when P >= NewPos ->
                                Key = et_collector:make_key(Order, Event),
                                #e{event = Event, key = Key, pos = P - 1};
                           (_E, Acc) ->
                                Acc
                        end,
                  et_collector:iterate(S#state.collector_pid,
                                       OldKey,
                                       Try,
                                       Fun,
                                       #e{key = OldKey, pos = OldPos})
          end,
      case collect_more_events(S, PrevE, S#state.events_per_page) of
  	{_, []} ->
  	    S;
  