Re: New list/tree model questions
- From: Owen Taylor <otaylor redhat com>
- To: Havoc Pennington <hp redhat com>
- Cc: Maxim Koshelev <max krascoal ru>, gtk-app-devel-list gnome org
- Subject: Re: New list/tree model questions
- Date: Mon, 11 Mar 2002 22:03:30 -0500 (EST)
Havoc Pennington <hp redhat com> writes:
if (!gtk_tree_model_get_iter_first (model, &tmp))
return FALSE;
do
{
gtk_tree_model_get (model, &tmp, column, &this_data, -1);
if (this_data == data)
{
*iter = tmp;
return TRUE;
}
} while (gtk_tree_model_iter_next (model, &tmp));
return FALSE; /* FALSE return means not found */
}
As a side note, my current favorite idiom for iterating over
all rows in a model is:
gboolean valid;
for (valid = gtk_tree_model_get_iter_first (model, &iter);
valid;
valid = gtk_tree_model_iter_next (model, &iter))
{
[ Do something with &iter ]
}
The extra boolean variable lets you avoid having separate start
and termination conditions.
Regards,
Owen
P.S. - or, in avoid-for()-loops style:
gboolean valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
{
[ Do something with iter ]
valid = gtk_tree_model_iter_next (model, &iter);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]