void downButton_Clicked(object sender, EventArgs e)
{
TreeIter iter, next;
TreeModel model;
if (!itemTree.Selection.GetSelected(out model, out iter))
return;
//get next iter
next = iter.Copy();
if (!itemStore.IterNext (ref next))
return;
//swap the two
itemStore.Swap (iter, next);
//swap indices too
object nextVal = itemStore.GetValue (next, 1);
object iterVal = itemStore.GetValue (iter, 1);
itemStore.SetValue (next, 1, iterVal);
itemStore.SetValue (iter, 1, nextVal);
}