Package: gtk

Function gtk:selection-model-selection

Lambda List

gtk:selection-model-selection (model)

Syntax

(gtk:selection-model-selection model) => selected
(setf (gtk:selection-model-selection model mask) selected)

Arguments

model -- a gtk:selection-model object
selected -- a gtk:bitset instance specifying the items which are selected or should be selected or unselected
mask -- a gtk:bitset instance specifying which items should be updated

Details

The gtk:selection-model-selection function gets the bitset containing all currently selected items in the model. This function may be slow, so if you are only interested in single item, consider using the gtk:selection-model-is-selected function or if you are only interested in a few consider the gtk:selection-model-selection-in-range function.

The (setf gtk:selection-model-selection) function 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 mask
    if (!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);
The mask and selected parameters must not be modified. They may refer to the same bitset, which would mean that every item in the set should be selected.
 

See also

2024-12-2