Hi All,

wxSlider has several events that handle different forms of scrolling and one 
event that handles all forms of scrolling (EVT_SCROLL see below). EVT_SCROLL 
is not implemented in wxPerl. The same applies for EVT_COMMAND_SCROLL events.

The additions to lib/Wx/Event.pm I have posted below add these events. If 
these are deemed suitable perhaps someone could add them to the codebase. I 
will post a preliminary implementation of wxGraphics* in the next few days.

Best wishes,
Klaas

----------------------------------------------------------------------------
IMPLEMENTATION OF EVT_SCROLL/EVT_COMMAND_SCROLL
----------------------------------------------------------------------------

Approx Line 324:
sub EVT_SCROLL($$) {
  my( $x, $y ) = @_;
  EVT_SCROLL_TOP( $x, $y );
  EVT_SCROLL_BOTTOM( $x, $y );
  EVT_SCROLL_LINEUP( $x, $y );
  EVT_SCROLL_LINEDOWN( $x, $y );
  EVT_SCROLL_PAGEUP( $x, $y );
  EVT_SCROLL_PAGEDOWN( $x, $y );
  EVT_SCROLL_THUMBTRACK( $x, $y );
  EVT_SCROLL_THUMBRELEASE( $x, $y );
}

Approx Line 333:
sub EVT_COMMAND_SCROLL($$$) {
  my( $x, $y, $z ) = @_;
  EVT_COMMAND_SCROLL_TOP( $x, $y, $z );
  EVT_COMMAND_SCROLL_BOTTOM( $x, $y, $z );
  EVT_COMMAND_SCROLL_LINEUP( $x, $y, $z );
  EVT_COMMAND_SCROLL_LINEDOWN( $x, $y, $z );
  EVT_COMMAND_SCROLL_PAGEUP( $x, $y, $z );
  EVT_COMMAND_SCROLL_PAGEDOWN( $x, $y, $z );
  EVT_COMMAND_SCROLL_THUMBTRACK( $x, $y, $z );
  EVT_COMMAND_SCROLL_THUMBRELEASE( $x, $y, $z );
}


-----------------------------------
wxWidgets Documentation:
-----------------------------------

EVT_SCROLL(func)    Process all scroll events. 
  EVT_SCROLL_TOP(func)    Process wxEVT_SCROLL_TOP scroll-to-top events 
(minimum position). 
  EVT_SCROLL_BOTTOM(func)    Process wxEVT_SCROLL_BOTTOM scroll-to-bottom 
events (maximum position). 
  EVT_SCROLL_LINEUP(func)    Process wxEVT_SCROLL_LINEUP line up events. 
  EVT_SCROLL_LINEDOWN(func)    Process wxEVT_SCROLL_LINEDOWN line down events. 
  EVT_SCROLL_PAGEUP(func)    Process wxEVT_SCROLL_PAGEUP page up events. 
  EVT_SCROLL_PAGEDOWN(func)    Process wxEVT_SCROLL_PAGEDOWN page down events. 
  EVT_SCROLL_THUMBTRACK(func)    Process wxEVT_SCROLL_THUMBTRACK thumbtrack 
events (frequent events sent as the user drags the thumbtrack). 
  EVT_SCROLL_THUMBRELEASE(func)    Process wxEVT_SCROLL_THUMBRELEASE thumb 
release events. 
  EVT_SCROLL_CHANGED(func)    Process wxEVT_SCROLL_CHANGED end of scrolling 
events (MSW only).
EVT_COMMAND_SCROLL(id, func)    Process all scroll events. 
  EVT_COMMAND_SCROLL_TOP(id, func)    Process wxEVT_SCROLL_TOP scroll-to-top 
events (minimum position). 
  EVT_COMMAND_SCROLL_BOTTOM(id, func)    Process wxEVT_SCROLL_BOTTOM 
scroll-to-bottom events (maximum position). 
  EVT_COMMAND_SCROLL_LINEUP(id, func)    Process wxEVT_SCROLL_LINEUP line up 
events. 
  EVT_COMMAND_SCROLL_LINEDOWN(id, func)    Process wxEVT_SCROLL_LINEDOWN line 
down events. 
  EVT_COMMAND_SCROLL_PAGEUP(id, func)    Process wxEVT_SCROLL_PAGEUP page up 
events. 
  EVT_COMMAND_SCROLL_PAGEDOWN(id, func)    Process wxEVT_SCROLL_PAGEDOWN page 
down events. 
  EVT_COMMAND_SCROLL_THUMBTRACK(id, func)    Process wxEVT_SCROLL_THUMBTRACK 
thumbtrack events (frequent events sent as the user drags the thumbtrack). 
  EVT_COMMAND_SCROLL_THUMBRELEASE(func)    Process wxEVT_SCROLL_THUMBRELEASE 
thumb release events. 
  EVT_COMMAND_SCROLL_CHANGED(func)    Process wxEVT_SCROLL_CHANGED end of 
scrolling events (MSW only). 

Reply via email to