方法
GtkSelectionModelset_selection
声明 [源]
gboolean
gtk_selection_model_set_selection (
GtkSelectionModel* model,
GtkBitset* selected,
GtkBitset* mask
)
描述 [源]
进行选择更改。
这是最先进的更新选择状态的方法,允许对选择更改进行更细粒度的控制。如果可能,你应该尝试更简单的版本,因为这些实现的兼容性可能更好。
请求将 mask
中设置的所有的位置的选择状态更新到 selected
布尔掩码中相应的值。
伪代码如下
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);
不得修改 mask
和 selected
。它们可以指向相同的位集合,这意味着集合中的每个项都应被选中。