TreeIter LocateProjectIter(TreeIter root, int projectId)
{
TreeIter iter;
if (m_projectStore.IterChildren (out iter, root)) {
do {
var value = (Project)m_projectStore.GetValue (iter, 0);
if (value.Id == projectId)
return iter;
if (m_projectStore.IterHasChild (iter)) {
var result = LocateProjectIter (iter, projectId);
if (!result.Equals (TreeIter.Zero))
return result;
}
} while (m_projectStore.IterNext (ref iter));
}
return TreeIter.Zero;
}