Exemplo n.º 1
0
        private void InsertGroup(TreeItem toInsert, TreeItem target, bool before)
        {
            if (target == null)
            {
                FullDetails.Add(toInsert);
            }
            else
            {
                int index;

                if ((PropType)target.Item == PropType.Group)
                {
                    index = FullDetails.IndexOf(target) + (before ? 0 : 1);
                }
                else
                {
                    index = FullDetails.IndexOf(target.Parent) + 1;
                }

                FullDetails.Insert(index, toInsert);
            }
        }
Exemplo n.º 2
0
        private void InsertFullDetailsProperty(TreeItem toInsert, TreeItem target, bool before)
        {
            if (target == null)
            {
                // Drop in the last group
                FullDetails.Last().AddChild(toInsert);
            }

            else if ((PropType)target.Item == PropType.Group)
            {
                if (before)
                {
                    int index = FullDetails.IndexOf(target);
                    if (index > 0)
                    {
                        index--;
                    }

                    FullDetails[index].AddChild(toInsert);
                }
                else
                {
                    target.InsertChild(0, toInsert);
                }
            }
            else
            {
                int index = target.Parent.Children.IndexOf(target) + (before ? 0 : 1);
                if (index < target.Parent.Children.Count)
                {
                    target.Parent.InsertChild(index, toInsert);
                }
                else
                {
                    target.Parent.AddChild(toInsert);
                }
            }
        }