protected void OnStructureChanged(TreePathEventArgs args)
 {
     if (StructureChanged != null)
     {
         StructureChanged(this, args);
     }
 }
        private void _model_StructureChanged(object sender, TreePathEventArgs e)
        {
            if (e.Path == null)
            {
                throw new ArgumentNullException();
            }

            TreeNodeAdv node = FindNode(e.Path);

            if (node != null)
            {
                if (node != Root)
                {
                    node.IsLeaf = Model.IsLeaf(GetPath(node));
                }

                var list = new Dictionary <object, object>();
                SaveExpandedNodes(node, list);
                ReadChilds(node);
                RestoreExpandedNodes(node, list);

                UpdateSelection();
                SmartFullUpdate();
            }
            //else
            //	throw new ArgumentException("Path not found");
        }
 void _innerModel_StructureChanged(object sender, TreePathEventArgs e)
 {
     OnStructureChanged(e);
 }
 protected void OnStructureChanged(TreePathEventArgs args)
 {
     if (StructureChanged != null)
         StructureChanged(this, args);
 }
 void _innerModel_StructureChanged(object sender, TreePathEventArgs e)
 {
     OnStructureChanged(e);
 }
        private void _model_StructureChanged(object sender, TreePathEventArgs e)
        {
            if (e.Path == null)
                throw new ArgumentNullException();

            TreeNodeAdv node = FindNode(e.Path);
            if (node != null)
            {
                if (node != Root)
                    node.IsLeaf = Model.IsLeaf(GetPath(node));

                var list = new Dictionary<object, object>();
                SaveExpandedNodes(node, list);
                ReadChilds(node);
                RestoreExpandedNodes(node, list);

                UpdateSelection();
                SmartFullUpdate();
            }
            //else 
            //	throw new ArgumentException("Path not found");
        }