protected override void SetNextSiblingInternal(ItemContainerData sibling, ItemContainerData nextSibling)
        {
            TreeViewItemContainerData tvSibling      = (TreeViewItemContainerData)sibling;
            TreeViewItemContainerData lastDescendant = tvSibling.LastDescendant(this);

            if (lastDescendant == null)
            {
                lastDescendant = tvSibling;
            }
            TreeViewItemContainerData tvItemData    = (TreeViewItemContainerData)nextSibling;
            TreeViewItemContainerData dragItemChild = tvItemData.FirstChild(this);

            base.SetNextSiblingInternal(lastDescendant, nextSibling);
            if (dragItemChild != null)
            {
                MoveSubtree(tvItemData, dragItemChild);
            }

            SetParent(tvSibling.Parent, tvItemData);

            VirtualizingTreeViewItem tvItem = (VirtualizingTreeViewItem)GetItemContainer(tvItemData.Item);

            if (tvItem != null)
            {
                tvItem.UpdateIndent();
            }
        }
Exemplo n.º 2
0
        private void MoveSubtree(TreeViewItemContainerData parent, TreeViewItemContainerData child)
        {
            int  num          = this.IndexOf(parent.Item);
            int  siblingIndex = this.IndexOf(child.Item);
            bool flag         = false;

            if (num < siblingIndex)
            {
                flag = true;
            }
            TreeViewItemContainerData itemContainerData = parent;
            VirtualizingTreeViewItem  itemContainer1    = (VirtualizingTreeViewItem)this.GetItemContainer(itemContainerData.Item);

            if (Object.op_Inequality((Object)itemContainer1, (Object)null))
            {
                itemContainer1.UpdateIndent();
            }
            for (; child != null && child.IsDescendantOf(parent) && itemContainerData != child; child = (TreeViewItemContainerData)this.GetItemContainerData(siblingIndex))
            {
                base.SetNextSiblingInternal((ItemContainerData)itemContainerData, (ItemContainerData)child);
                VirtualizingTreeViewItem itemContainer2 = (VirtualizingTreeViewItem)this.GetItemContainer(child.Item);
                if (Object.op_Inequality((Object)itemContainer2, (Object)null))
                {
                    itemContainer2.UpdateIndent();
                }
                itemContainerData = child;
                if (flag)
                {
                    ++siblingIndex;
                }
            }
        }
Exemplo n.º 3
0
        public override void DataBindItem(object item, VirtualizingItemContainer itemContainer)
        {
            itemContainer.Clear();

            if (item != null)
            {
                VirtualizingTreeViewItemDataBindingArgs args = new VirtualizingTreeViewItemDataBindingArgs();
                args.Item            = item;
                args.ItemPresenter   = itemContainer.ItemPresenter == null ? gameObject : itemContainer.ItemPresenter;
                args.EditorPresenter = itemContainer.EditorPresenter == null ? gameObject : itemContainer.EditorPresenter;

                RaiseItemDataBinding(args);

                VirtualizingTreeViewItem treeViewItem = (VirtualizingTreeViewItem)itemContainer;
                treeViewItem.CanExpand       = args.HasChildren;
                treeViewItem.CanEdit         = CanEdit && args.CanEdit;
                treeViewItem.CanDrag         = CanDrag && args.CanDrag;
                treeViewItem.CanBeParent     = args.CanBeParent;
                treeViewItem.CanChangeParent = args.CanChangeParent;
                treeViewItem.UpdateIndent();
            }
            else
            {
                VirtualizingTreeViewItem treeViewItem = (VirtualizingTreeViewItem)itemContainer;
                treeViewItem.CanExpand       = false;
                treeViewItem.CanEdit         = false;
                treeViewItem.CanDrag         = false;
                treeViewItem.CanBeParent     = false;
                treeViewItem.CanChangeParent = false;
                treeViewItem.UpdateIndent();
            }
        }
Exemplo n.º 4
0
 public override void DataBindItem(object item, VirtualizingItemContainer itemContainer)
 {
     itemContainer.Clear();
     if (item != null)
     {
         VirtualizingTreeViewItemDataBindingArgs args = new VirtualizingTreeViewItemDataBindingArgs();
         args.Item            = item;
         args.ItemPresenter   = !Object.op_Equality((Object)itemContainer.ItemPresenter, (Object)null) ? itemContainer.ItemPresenter : ((Component)this).get_gameObject();
         args.EditorPresenter = !Object.op_Equality((Object)itemContainer.EditorPresenter, (Object)null) ? itemContainer.EditorPresenter : ((Component)this).get_gameObject();
         this.RaiseItemDataBinding(args);
         VirtualizingTreeViewItem virtualizingTreeViewItem = (VirtualizingTreeViewItem)itemContainer;
         virtualizingTreeViewItem.CanExpand   = args.HasChildren;
         virtualizingTreeViewItem.CanEdit     = this.CanEdit && args.CanEdit;
         virtualizingTreeViewItem.CanDrag     = this.CanDrag && args.CanDrag;
         virtualizingTreeViewItem.CanBeParent = args.CanBeParent;
         virtualizingTreeViewItem.UpdateIndent();
     }
     else
     {
         VirtualizingTreeViewItem virtualizingTreeViewItem = (VirtualizingTreeViewItem)itemContainer;
         virtualizingTreeViewItem.CanExpand = false;
         virtualizingTreeViewItem.CanEdit   = false;
         virtualizingTreeViewItem.CanDrag   = false;
         virtualizingTreeViewItem.UpdateIndent();
     }
 }
Exemplo n.º 5
0
        public void UpdateIndent(object obj)
        {
            VirtualizingTreeViewItem itemContainer = (VirtualizingTreeViewItem)this.GetItemContainer(obj);

            if (Object.op_Equality((Object)itemContainer, (Object)null))
            {
                return;
            }
            itemContainer.UpdateIndent();
        }
        public void UpdateIndent(object obj)
        {
            VirtualizingTreeViewItem item = (VirtualizingTreeViewItem)GetItemContainer(obj);

            if (item == null)
            {
                return;
            }

            item.UpdateIndent();
        }
        private void MoveSubtree(TreeViewItemContainerData parent, TreeViewItemContainerData child)
        {
            int  parentSiblingIndex    = IndexOf(parent.Item);
            int  siblingIndex          = IndexOf(child.Item);
            bool incrementSiblingIndex = false;

            if (parentSiblingIndex < siblingIndex)
            {
                incrementSiblingIndex = true;
            }

            TreeViewItemContainerData prev   = parent;
            VirtualizingTreeViewItem  tvItem = (VirtualizingTreeViewItem)GetItemContainer(prev.Item);

            if (tvItem != null)
            {
                tvItem.UpdateIndent();
            }
            while (child != null && child.IsDescendantOf(parent))
            {
                if (prev == child)
                {
                    break;
                }
                base.SetNextSiblingInternal(prev, child);

                tvItem = (VirtualizingTreeViewItem)GetItemContainer(child.Item);
                if (tvItem != null)
                {
                    tvItem.UpdateIndent();
                }

                prev = child;
                if (incrementSiblingIndex)
                {
                    siblingIndex++;
                }
                child = (TreeViewItemContainerData)GetItemContainerData(siblingIndex);
            }
        }
        public override void DataBindItem(object item, ItemContainerData containerData, VirtualizingItemContainer itemContainer)
        {
            itemContainer.Clear();

            VirtualizingTreeViewItemDataBindingArgs args = new VirtualizingTreeViewItemDataBindingArgs();

            args.Item            = item;
            args.ItemPresenter   = itemContainer.ItemPresenter == null ? gameObject : itemContainer.ItemPresenter;
            args.EditorPresenter = itemContainer.EditorPresenter == null ? gameObject : itemContainer.EditorPresenter;

            RaiseItemDataBinding(args);

            VirtualizingTreeViewItem treeViewItem = (VirtualizingTreeViewItem)itemContainer;

            treeViewItem.CanExpand = args.HasChildren;
            treeViewItem.CanEdit   = args.CanEdit;
            treeViewItem.CanDrag   = args.CanDrag;
            treeViewItem.UpdateIndent();
        }
        protected override void SetPrevSiblingInternal(ItemContainerData sibling, ItemContainerData prevSibling)
        {
            TreeViewItemContainerData tvSiblingData   = (TreeViewItemContainerData)sibling;
            TreeViewItemContainerData tvItemData      = (TreeViewItemContainerData)prevSibling;
            TreeViewItemContainerData tvDragItemChild = tvItemData.FirstChild(this);

            base.SetPrevSiblingInternal(sibling, prevSibling);

            if (tvDragItemChild != null)
            {
                MoveSubtree(tvItemData, tvDragItemChild);
            }

            SetParent(tvSiblingData.Parent, tvItemData);

            VirtualizingTreeViewItem tvItem = (VirtualizingTreeViewItem)GetItemContainer(tvItemData.Item);

            if (tvItem != null)
            {
                tvItem.UpdateIndent();
            }
        }
Exemplo n.º 10
0
        protected override void SetPrevSiblingInternal(
            ItemContainerData sibling,
            ItemContainerData prevSibling)
        {
            TreeViewItemContainerData itemContainerData1 = (TreeViewItemContainerData)sibling;
            TreeViewItemContainerData itemContainerData2 = (TreeViewItemContainerData)prevSibling;
            TreeViewItemContainerData child = itemContainerData2.FirstChild(this);

            base.SetPrevSiblingInternal(sibling, prevSibling);
            if (child != null)
            {
                this.MoveSubtree(itemContainerData2, child);
            }
            this.SetParent(itemContainerData1.Parent, itemContainerData2);
            VirtualizingTreeViewItem itemContainer = (VirtualizingTreeViewItem)this.GetItemContainer(itemContainerData2.Item);

            if (!Object.op_Inequality((Object)itemContainer, (Object)null))
            {
                return;
            }
            itemContainer.UpdateIndent();
        }
Exemplo n.º 11
0
        protected override void SetNextSiblingInternal(
            ItemContainerData sibling,
            ItemContainerData nextSibling)
        {
            TreeViewItemContainerData itemContainerData1 = (TreeViewItemContainerData)sibling;
            TreeViewItemContainerData itemContainerData2 = itemContainerData1.LastDescendant(this) ?? itemContainerData1;
            TreeViewItemContainerData itemContainerData3 = (TreeViewItemContainerData)nextSibling;
            TreeViewItemContainerData child = itemContainerData3.FirstChild(this);

            base.SetNextSiblingInternal((ItemContainerData)itemContainerData2, nextSibling);
            if (child != null)
            {
                this.MoveSubtree(itemContainerData3, child);
            }
            this.SetParent(itemContainerData1.Parent, itemContainerData3);
            VirtualizingTreeViewItem itemContainer = (VirtualizingTreeViewItem)this.GetItemContainer(itemContainerData3.Item);

            if (!Object.op_Inequality((Object)itemContainer, (Object)null))
            {
                return;
            }
            itemContainer.UpdateIndent();
        }