Exemplo n.º 1
0
        public bool Remove(View item)
        {
            if (item == null)
            {
                return(false);
            }

            var index = Views.IndexOf(item);

            if (index >= 0)
            {
                item.Parent     = null;
                item.Navigation = null;

                var removed = new List <View> {
                    item
                };
                Views.Remove(item);

                OnRemoved(item);
                ChildrenRemoved?.Invoke(this, new LayoutEventArgs(index, 1, removed));
                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        public void Clear()
        {
            var count = _views.Count;

            if (count > 0)
            {
                var removed = new List <View>(_views);
                _views.Clear();
                ChildrenRemoved?.Invoke(this, new LayoutEventArgs(0, count, removed));
            }
        }
Exemplo n.º 3
0
        public void RemoveAt(int index)
        {
            if (index >= 0 && index < _views.Count)
            {
                var item = _views[index];
                item.Parent     = null;
                item.Navigation = null;

                var removed = new List <View> {
                    item
                };
                _views.RemoveAt(index);
                ChildrenRemoved?.Invoke(this, new LayoutEventArgs(index, 1, removed));
            }
        }
Exemplo n.º 4
0
        public void RemoveChildren(IEnumerable <ITreeItem> children)
        {
            List <ITreeItem> removed = new List <ITreeItem>();

            foreach (ITreeItem child in children)
            {
                if (Remove(child, false))
                {
                    removed.Add(child);
                }
            }
            if (removed.Count > 0)
            {
                TreeItemChildrenRemoveEventArgs args =
                    new TreeItemChildrenRemoveEventArgs(removed);
                ChildrenRemoved?.Invoke(this, args);
            }
        }
Exemplo n.º 5
0
 private bool Remove(ITreeItem child, bool sendEvent)
 {
     if (children.Contains(child))
     {
         child.Parent = null;
         children.Remove(child);
         if (sendEvent)
         {
             TreeItemChildrenRemoveEventArgs args =
                 new TreeItemChildrenRemoveEventArgs(new List <ITreeItem>()
             {
                 child
             });
             ChildrenRemoved?.Invoke(this, args);
         }
         return(true);
     }
     return(false);
 }