Opened 9 years ago

Closed 8 years ago

#43 closed defect (fixed)

OS X - data points slider keyboard navigation broken

Reported by: flip Owned by:
Priority: minor Milestone:
Component: svd Version:
Keywords: Cc:

Description

On all platforms, we have code that reacts to changes in the # of data points slider and ensures that the slider's value is one of the values acceptable to the HLSVD algorithm as described in ticket #40. In other words, when we get a "slider changed value" event, we sometimes react to that by changing the slider's value again.

Under OS X, all is well except that at some point the slider "forgets" the value we've given it and goes back to the value to which the user set it. For example -- the slider is at 1024. I use the keyboard to move the slider left; the slider moves to 1021. This isn't valid for HLSVD, so during the "slider changed value" event, we change the value of the slider to 1020 which is valid.

If I immediately get the value of the slider, it says 1020. If I get the value of the slider in _apply_hlsvd() (which is executed with wx.CallAfter() which allows events to happen before calling the function in question), it says 1020. However, if I then hit the left arrow again, the slider reports its value as 1021.

The consequence for us is that our code believes the last slider value was 1020, so if it is now 1021, then the user must have hit the right arrow and asked for a bigger number when in fact the opposite is true. This makes slider keyboard navigation for # of data points almost useless under OS X. It is possible to take advantage of it by getting the slider close to the value you want using the mouse, and then using the keyboard to move it a notch or two. But it's flaky.

This is especially annoying given bug #42 which limits what one can do to a slider with the mouse under OS X.

I don't think we're doing anything to cause this problem, especially since it doesn't happen under Windows nor GTK.

Change History (1)

comment:1 Changed 8 years ago by flip

  • Resolution set to fixed
  • Status changed from new to closed

As of June 2012 ticket #40 is closed and we're no longer adjusting users' input for # of data points so this ticket is no longer relevant.

Note: See TracTickets for help on using tickets.