Ejemplo n.º 1
0
        public TreePosition InsertAfter(TreePosition pos)
        {
            IterPos tpos = (IterPos)pos;
            var     p    = Tree.InsertNodeAfter(tpos.Iter);

            return(new IterPos(p));
        }
Ejemplo n.º 2
0
        public TreePosition InsertAfter(TreePosition pos)
        {
            version++;
            IterPos tpos = GetIterPos(pos);
            var     p    = Tree.InsertNodeAfter(tpos.Iter);

            return(new IterPos(version, p));
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }