Let set_row_visible call the selection update.

When the selection changes due to hiding rows the callback for a changed
value should also be called.
This commit is contained in:
Mark de Wever 2009-12-20 19:35:16 +00:00
parent c636eaf402
commit 229470a84b

View file

@ -98,6 +98,8 @@ void tlistbox::set_row_visible(const unsigned row, const bool visible)
twindow *window = get_window(); twindow *window = get_window();
assert(window); assert(window);
const int selected_row = get_selected_row();
bool resize_needed; bool resize_needed;
{ {
twindow::tinvalidate_layout_blocker invalidate_layout_blocker(*window); twindow::tinvalidate_layout_blocker invalidate_layout_blocker(*window);
@ -111,6 +113,10 @@ void tlistbox::set_row_visible(const unsigned row, const bool visible)
} else { } else {
set_dirty(); set_dirty();
} }
if(selected_row != get_selected_row() && callback_value_changed_) {
callback_value_changed_(this);
}
} }
const tgrid* tlistbox::get_row_grid(const unsigned row) const const tgrid* tlistbox::get_row_grid(const unsigned row) const