TableListBoxModel vs. clicking a single cell in the same row

I want to update graphics of table’s cell when it is clicked (basically on/off button, on/off state is stored in a separate list, one element per table row). For this I tried using:
virtual void TableListBoxModel::cellClicked(…)

…in conjunction with:
virtual void paintCell()

cellClicked() checks if the cell of interest was clicked and updates a flag for that row if that cell should have certain colors painted into it or not.

paintCell() checks if we’re drawing that cell of interest and then paints it using that color.

However, this seems to work ONLY when the selected row changes. Not when the user clicks on the same row that is already selected. This means that if I click multiple times the same row’s cell, the graphics won’t get updated in that clicked cell.

I tried fixing this situation by calling repaint() from cellClicked() when the cell is clicked with mouse, but this didn’t change anything at all.

So how to get the required behavior? Is the only way to use a dedicated button in that cell or is there a simpler solution?