public TreePosition InsertAfter(TreePosition pos) { IterPos tpos = (IterPos)pos; var p = Tree.InsertNodeAfter(tpos.Iter); return(new IterPos(p)); }
public TreePosition InsertAfter(TreePosition pos) { version++; IterPos tpos = GetIterPos(pos); var p = Tree.InsertNodeAfter(tpos.Iter); return(new IterPos(version, p)); }
private void AddItemsToTreeStore(Gtk.TreeStore treeStore, IList <FileNodeViewModel> itemsToAdd, int startingIndex) { Gtk.TreeIter treeIter; var gotSelfIter = GetIterForItem(out treeIter, treeStore); Gtk.TreeIter insertIter; bool putAtFront = startingIndex == 0; var insertIterValid = GetTreeIterForItem(out insertIter, treeIter, treeStore, null, startingIndex - 1); for (int i = 0; i < itemsToAdd.Count; ++i) { var item = itemsToAdd[i]; var folder = item as FolderViewModel; if (folder != null) { // Ensure that the tree store is properly initialized. folder.InitializeGtkModel(treeStore); } if (insertIterValid) { if (putAtFront) { insertIter = treeStore.InsertNodeBefore(insertIter); putAtFront = false; } else { insertIter = treeStore.InsertNodeAfter(insertIter); } treeStore.SetValue(insertIter, 0, item); } else if (treeIter.Equals(Gtk.TreeIter.Zero)) { treeStore.AppendValues(item); } else { treeStore.AppendValues(treeIter, item); } } }