lib: TreeIter cleanups

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2015-01-13 20:06:24 -05:00
parent ad584900fa
commit cba07b5957
1 changed files with 14 additions and 17 deletions

View File

@ -25,6 +25,11 @@ void QueueModel::increment_stamp()
} while (stamp == 0);
}
bool QueueModel::check_iter_validity(const Gtk::TreeIter &iter) const
{
return stamp == iter.get_stamp();
}
void QueueModel::on_row_inserted(unsigned int row)
{
Gtk::TreePath path;
@ -143,13 +148,12 @@ void QueueModel::get_value_vfunc(const Gtk::TreeIter &iter, int column,
}
bool QueueModel::iter_next_vfunc(const Gtk::TreeIter &iter,
Gtk::TreeIter &iter_next) const
Gtk::TreeIter &next) const
{
if (!check_iter_validity(iter)) {
iter_next = Gtk::TreeIter();
return false;
}
return iter_nth_root_child_vfunc(iter_to_id(iter) + 1, iter_next);
next = Gtk::TreeIter();
if (check_iter_validity(iter))
return iter_nth_root_child_vfunc(iter_to_id(iter) + 1, next);
return false;
}
int QueueModel::iter_n_root_children_vfunc() const
@ -171,7 +175,6 @@ bool QueueModel::iter_nth_root_child_vfunc(int n, Gtk::TreeIter &iter) const
Gtk::TreeModel::Path QueueModel::get_path_vfunc(const Gtk::TreeIter &iter) const
{
Gtk::TreeModel::Path path;
if (check_iter_validity(iter))
path.push_back(iter_to_id(iter));
return path;
@ -180,14 +183,8 @@ Gtk::TreeModel::Path QueueModel::get_path_vfunc(const Gtk::TreeIter &iter) const
bool QueueModel::get_iter_vfunc(const Gtk::TreePath &path,
Gtk::TreeIter &iter) const
{
if (path.size() != 1) {
iter = Gtk::TreeIter();
return false;
}
return iter_nth_root_child_vfunc(path[0], iter);
}
bool QueueModel::check_iter_validity(const Gtk::TreeIter &iter) const
{
return stamp == iter.get_stamp();
iter = Gtk::TreeIter();
if (path.size() == 1)
return iter_nth_root_child_vfunc(path[0], iter);
return false;
}