This is the most advanced selection updating method that allows
the most fine-grained control over selection changes. If you can,
you should try the simpler versions, as implementations are more
likely to implement support for those.
Requests that the selection state of all positions set in @mask
be updated to the respective value in the @selected bitmask.
In pseudocode, it would look something like this:
for (i = 0; i < n_items; i++)
{
// don't change values not in the maskif (!gtk_bitset_contains (mask, i))
continue;
if (gtk_bitset_contains (selected, i))
select_item (i);
else
unselect_item (i);
}
gtk_selection_model_selection_changed (model,
first_changed_item,
n_changed_items);
@mask and @selected must not be modified. They may refer to the
same bitset, which would mean that every item in the set should
be selected.
Make selection changes.
This is the most advanced selection updating method that allows the most fine-grained control over selection changes. If you can, you should try the simpler versions, as implementations are more likely to implement support for those.
Requests that the selection state of all positions set in @mask be updated to the respective value in the @selected bitmask.
In pseudocode, it would look something like this:
@mask and @selected must not be modified. They may refer to the same bitset, which would mean that every item in the set should be selected.