ZForge.Controls.TreeViewAdv.Tree.TreeViewAdv._model_NodesRemoved C# (CSharp) Method

_model_NodesRemoved() private method

private _model_NodesRemoved ( object sender, TreeModelEventArgs e ) : void
sender object
e TreeModelEventArgs
return void
        private void _model_NodesRemoved(object sender, TreeModelEventArgs e)
        {
            TreeNodeAdv parent = FindNode(e.Path);
            if (parent != null)
            {
                if (e.Indices != null)
                {
                    List<int> list = new List<int>(e.Indices);
                    list.Sort();
                    for (int n = list.Count - 1; n >= 0; n--)
                    {
                        int index = list[n];
                        if (index >= 0 && index <= parent.Nodes.Count)
                            parent.Nodes.RemoveAt(index);
                        else
                            throw new ArgumentOutOfRangeException("Index out of range");
                    }
                }
                else
                {
                    for (int i = parent.Nodes.Count - 1; i >= 0; i--)
                    {
                        for (int n = 0; n < e.Children.Length; n++)
                            if (parent.Nodes[i].Tag == e.Children[n])
                            {
                                parent.Nodes.RemoveAt(i);
                                break;
                            }
                    }
                }
            }
            UpdateSelection();
            SmartFullUpdate();
        }
TreeViewAdv