Another similar StackOverflow question helped me up to a point.
My TableViewer
cells contain boolean widget editors
(not your usual check-button widget, but a toggling button, that can be "Checked"/"Unchecked").
The table must:
- always show the editor when a cell is selected;
- disable the editor when cell focus is lost;
- properly move to the next row
when TAB
is pressed;
Apparently easy, hard in practice. A lot of listener conflicts (TAB
doesn't really work).
Later edit:
I've managed to solved the majority of bugs, but this one bug still boggles my mind. If I change the value of the widget with the mouse, then press TAB
to traverse, the focus jumps to the second next row, not the next one. BUT if I change the value of the editor using space bar, then the traversing works just fine; it jumps to the next row as it should.
How should I debug those damn listeners?