虚函数
GtkSelectionModelset_selection
声明 [src]
gboolean
set_selection (
GtkSelectionModel* model,
GtkBitset* selected,
GtkBitset* mask
)
描述 [src]
进行选择变更。
这是最先进的更新选择的方法,允许对选择变更有最精细的控制。如果可能,您应该尝试更简单的版本,因为这些实现更有可能实现对这些版本的支持。
请求将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
不得修改。它们可以指向同一个位集,这意味着位集中的每个项目都应该被选中。