wxSlider, EVT_SCROLL_THUMBRELEASE

Hi,

for a wxSlider I would like to attach events for
  a) dragging the slider
  b) releasing the slider
where a) just updates something quickly and after releasing
the slider b) should do a refined update (i.e. a slightly
longer computation).

I tried the code attached below, but I can't get b), i.e.
EVT_SCROLL_THUMBRELEASE, working.
Presumably I am missing something simple here - any advice
is very much appreciated.

Many thanks,

Arnd

P.S.: wxPython.__version__: '2.4.2.0p'
      on debian linux, python 2.3

···

##################################
#!/usr/bin/env python
"""
Aim: handle slider drag and release differently
"""

from wxPython.wx import * # sorry for the old-style :wink:

class MainWindow(wxFrame):
    def __init__(self,parent,id,title):
        wxFrame.__init__(self,parent,-4, title,size=(200,100),
                         style=wxDEFAULT_FRAME_STYLE|
                                        wxNO_FULL_REPAINT_ON_RESIZE)

        self.Slider = wxSlider(id=-1,maxValue=5,minValue=0,name='Slider',
                               parent=self,style=wxSL_HORIZONTAL,
                               validator=wxDefaultValidator,value=0)
        self.Slider.Enable(True)

        #EVT_SCROLL(self.Slider, self.OnSliderScroll)
        EVT_SCROLL_THUMBRELEASE(self.Slider, self.OnSliderScrollRelease)
        EVT_SCROLL_THUMBTRACK(self.Slider, self.OnSliderScroll)
        #EVT_SCROLL_ENDSCROLL(self.Slider, self.OnSliderScrollRelease)

    def OnSliderScroll(self, event):
        cell=self.Slider.GetValue()
        print "do something when scrolling ...",cell
        event.Skip()

    def OnSliderScrollRelease(self, event):
        cell=self.Slider.GetValue()
        print "do something after releasing the slider ...",cell
        event.Skip()

app = wxPySimpleApp()
frame = MainWindow(None, -1, "SliderTest")
frame.Show(1)
app.MainLoop()

#### end of example

Arnd Baecker wrote:

Hi,

for a wxSlider I would like to attach events for
  a) dragging the slider
  b) releasing the slider
where a) just updates something quickly and after releasing
the slider b) should do a refined update (i.e. a slightly
longer computation).

I tried the code attached below, but I can't get b), i.e.
EVT_SCROLL_THUMBRELEASE, working.
Presumably I am missing something simple here

Nope, wxGTK does not generate that event for some reason. Please enter a bug report about it, (category == wxGTK.)

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!