Notify listeners that the model is about to be changed, which means that multiple row additions / changes / removals will follow.
The default implementation of this method will emit the changeset_started signal.
It is not stricly necessary to enclose every change to a model in a begin_changeset and end_changeset calls, but doing so is highly recommended and allows implementing various optimizations.
The usual way to perform multiple changes to a model is as follows:
void update_model (DeeModel *model)
{
GVariant **added_row_data1 = ...;
GVariant **added_row_data2 = ...;
dee_model_begin_changeset (model);
dee_model_remove (model, dee_model_get_first_iter (model));
dee_model_append_row (model, added_row_data1);
dee_model_append_row (model, added_row_data2);
dee_model_end_changeset (model);
}
this |
a Model |