public void OnNodeInserted(TreeModelEventArgs args)
 {
     if (NodesInserted != null)
     {
         NodesInserted(this, args);
     }
 }
Exemple #2
0
 private void UpdateContentWidth(TreeModelEventArgs e, TreeNodeAdv parent)
 {
     if (e.Indices != null)
     {
         foreach (int index in e.Indices)
         {
             if (index >= 0 && index < parent.Nodes.Count)
             {
                 TreeNodeAdv node = parent.Nodes[index];
                 Rectangle   rect = GetNodeBounds(node);
                 _contentWidth = Math.Max(_contentWidth, rect.Right);
             }
             else
             {
                 throw new ArgumentOutOfRangeException("Index out of range");
             }
         }
     }
     else
     {
         foreach (TreeNodeAdv node in parent.Nodes)
         {
             foreach (object obj in e.Children)
             {
                 if (node.Tag == obj)
                 {
                     Rectangle rect = GetNodeBounds(node);
                     _contentWidth = Math.Max(_contentWidth, rect.Right);
                 }
             }
         }
     }
 }
 public void OnNodeRemoved(TreeModelEventArgs args)
 {
     if (NodesRemoved != null)
     {
         NodesRemoved(this, args);
     }
 }
 private void ClearNodesSize(TreeModelEventArgs e, TreeNodeAdv parent)
 {
     if (e.Indices != null)
     {
         foreach (int index in e.Indices)
         {
             if (index >= 0 && index < parent.Nodes.Count)
             {
                 TreeNodeAdv node = parent.Nodes[index];
                 node.Height = node.RightBounds = null;
             }
             else
             {
                 throw new ArgumentOutOfRangeException("Index out of range");
             }
         }
     }
     else
     {
         foreach (TreeNodeAdv node in parent.Nodes)
         {
             foreach (object obj in e.Children)
             {
                 if (node.Tag == obj)
                 {
                     node.Height = node.RightBounds = null;
                 }
             }
         }
     }
 }
Exemple #5
0
 protected void OnNodesRemoved(TreeModelEventArgs args)
 {
     if (NodesRemoved != null)
     {
         NodesRemoved(this, args);
     }
 }
Exemple #6
0
        private void _model_NodesInserted(object sender, TreeModelEventArgs e)
        {
            if (e.Indices == null)
            {
                throw new ArgumentNullException("Indices");
            }

            TreeNodeAdv parent = FindNode(e.Path);

            if (parent != null)
            {
                if (parent.IsExpandedOnce)
                {
                    for (int i = 0; i < e.Children.Length; i++)
                    {
                        AddNewNode(parent, e.Children[i], e.Indices[i]);
                    }
                }
                else if (parent.IsLeaf)
                {
                    parent.IsLeaf = Model.IsLeaf(e.Path);
                }
            }
            SmartFullUpdate();
        }
 public void OnNodesChanged(TreeModelEventArgs args)
 {
     if (NodesChanged != null)
     {
         NodesChanged(this, args);
     }
 }
Exemple #8
0
 internal void OnNodeInserted(Node parent, int index, Node node)
 {
     if (NodesInserted != null)
     {
         var args = new TreeModelEventArgs(GetPath(parent), new[] { index }, new object[] { node });
         NodesInserted(this, args);
     }
 }
Exemple #9
0
 internal protected virtual void OnNodeRemoved(Node parent, int index, Node node)
 {
     if (NodesRemoved != null)
     {
         TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node });
         NodesRemoved(this, args);
     }
 }
        public void StructureChanged_event_should_bubble_up()
        {
            var flag = false;
            decorator.StructureChanged += (s, e) => { flag = true; };
            var eventArgs = new TreeModelEventArgs(new TreePath(), new object[0]);

            treeModel.Raise(tm => tm.StructureChanged += null, null, eventArgs);

            Assert.IsTrue(flag);
        }
Exemple #11
0
        private void _model_NodesRemoved(object sender, TreeModelEventArgs e)
        {
            TreeNodeAdv parent = FindNode(e.Path);

            if (parent != null)
            {
                if (parent.IsExpandedOnce)
                {
                    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;
                                }
                            }
                        }
                    }
                    if (parent.Nodes.Count == 0)
                    {
                        parent.IsLeaf = Model.IsLeaf(e.Path);
                    }
                }
                else
                {
                    parent.IsLeaf = Model.IsLeaf(e.Path);
                }
            }
            UpdateSelection();
            SmartFullUpdate();
        }
Exemple #12
0
 internal protected virtual void OnNodesChanged(Node parent, int index, Node node)
 {
     if (NodesChanged != null)
     {
         TreePath path = GetPath(parent);
         if (path == null)
         {
             return;
         }
         TreeModelEventArgs args = new TreeModelEventArgs(path, new int[] { index }, new object[] { node });
         NodesChanged(this, args);
     }
 }
Exemple #13
0
        protected void NotifyModel()
        {
            TreeModel model = FindModel();

            if (model != null && Parent != null)
            {
                TreePath path = model.GetPath(Parent);
                if (path != null)
                {
                    TreeModelEventArgs args = new TreeModelEventArgs(path, new int[] { Index }, new object[] { this });
                    model.OnNodesChanged(args);
                }
            }
        }
Exemple #14
0
        private void _model_NodesChanged(object sender, TreeModelEventArgs e)
        {
            TreeNodeAdv parent = FindNode(e.Path);

            if (parent != null && parent.IsVisible && parent.IsExpanded)
            {
                if (InvokeRequired)
                {
                    BeginInvoke(new UpdateContentWidthDelegate(ClearNodesSize), e, parent);
                }
                else
                {
                    ClearNodesSize(e, parent);
                }
                SmartFullUpdate();
            }
        }
Exemple #15
0
        private void _model_NodesChanged(object sender, TreeModelEventArgs e)
        {
            TreeNodeAdv parent = FindNode(e.Path);

            if (parent != null)
            {
                if (InvokeRequired)
                {
                    Invoke(new UpdateContentWidthDelegate(UpdateContentWidth), e, parent);
                }
                else
                {
                    UpdateContentWidth(e, parent);
                }
            }
            _rowLayout.ClearCache();
            SafeUpdateScrollBars();
            UpdateView();
        }
        private void _model_NodesChanged(object sender, TreeModelEventArgs e)
        {
            TreeNodeAdv parent = FindNode(e.Path);

            if (parent != null)
            {
                if (e.Indices != null)
                {
                    foreach (int index in e.Indices)
                    {
                        if (index >= 0 && index < parent.Nodes.Count)
                        {
                            TreeNodeAdv node = parent.Nodes[index];
                            Rectangle   rect = GetNodeBounds(node);
                            _contentWidth = Math.Max(_contentWidth, rect.Right);
                        }
                        else
                        {
                            throw new ArgumentOutOfRangeException("Index out of range");
                        }
                    }
                }
                else
                {
                    foreach (TreeNodeAdv node in parent.Nodes)
                    {
                        foreach (object obj in e.Children)
                        {
                            if (node.Tag == obj)
                            {
                                Rectangle rect = GetNodeBounds(node);
                                _contentWidth = Math.Max(_contentWidth, rect.Right);
                            }
                        }
                    }
                }
            }
            _rowLayout.ClearCache();
            SafeUpdateScrollBars();
            UpdateView();
        }
Exemple #17
0
        private void _model_NodesInserted(object sender, TreeModelEventArgs e)
        {
            if (e.Indices == null)
            throw new ArgumentNullException("Indices");

               TreeNodeAdv parent = FindNode(e.Path);
               if (parent != null)
               {
            for (int i = 0; i < e.Children.Length; i++)
             AddNewNode(parent, e.Children[i], e.Indices[i]);
               }
               SmartFullUpdate();
        }
Exemple #18
0
 private void _model_NodesChanged(object sender, TreeModelEventArgs e)
 {
     TreeNodeAdv parent = FindNode(e.Path);
        if (parent != null && parent.IsVisible && parent.IsExpanded)
        {
     if (InvokeRequired)
      Invoke(new UpdateContentWidthDelegate(ClearNodesSize), e, parent);
     else
      ClearNodesSize(e, parent);
     SmartFullUpdate();
        }
 }
 /// <summary>
 /// Called when new nodes were inserted into the tree model.
 /// We need to set the nodes' event handlers accordingly.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mTreeModel_NodesInserted(object sender, TreeModelEventArgs e)
 {
     foreach (Node node in e.Children)
     {
         SetHandlers(node, true);
     }
 }
 /// <summary>
 /// Nodes have been removed.  Remove the event handlers
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mTreeModel_NodesRemoved(object sender, TreeModelEventArgs e)
 {
     foreach (Node node in e.Children)
     {
         SetHandlers(node, false);
     }
 }
 private void TreeNodesInserted(object sender, TreeModelEventArgs e)
 {
     OnNodesInserted(e);
 }
Exemple #22
0
 void model_NodesInserted(object sender, TreeModelEventArgs e)
 {
     insert++;
 }
Exemple #23
0
 void model_NodesRemoved(object sender, TreeModelEventArgs e)
 {
     remove++;
 }
 private void TreeNodesRemoved(object sender, TreeModelEventArgs e)
 {
     OnNodesRemoved(e);
 }
        void Model_NodesRemoved(object sender, TreeModelEventArgs e)
        {
            if (ModelSaved)
            {
                Model.NodesRemoved -= Model_NodesRemoved;
                ModelSaved = false;

                if (cbShowAll.Checked)
                {
                    LoadFiles();
                }
            }
        }
Exemple #26
0
        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();
        }
Exemple #27
0
 protected virtual void OnNodesInserted(TreeNodeAdv parent, TreeModelEventArgs e)
 {
 }
 void _innerModel_NodesChanged(object sender, TreeModelEventArgs e)
 {
     OnStructureChanged(new TreePathEventArgs(e.Path));
 }
 void _innerModel_NodesRemoved(object sender, TreeModelEventArgs e)
 {
     OnStructureChanged(new TreePathEventArgs(e.Path));
 }
Exemple #30
0
        void _treeModel_NodesChanged(object sender, TreeModelEventArgs e)
        {
            if (this.InvokeRequired)
            {
                TreeModelEventDelegate del = new TreeModelEventDelegate(
                    _treeModel_NodesChanged);
                this.Invoke(del, new object[] { sender, e });

                return;
            }

            //authPanel.ValidateChildren();
            _workArea.Invalidate(true);
        }
Exemple #31
0
 private void ClearNodesSize(TreeModelEventArgs e, TreeNodeAdv parent)
 {
     if (e.Indices != null)
        {
     foreach (int index in e.Indices)
     {
      if (index >= 0 && index < parent.Nodes.Count)
      {
       TreeNodeAdv node = parent.Nodes[index];
       node.Height = node.RightBounds = null;
      }
      else
       throw new ArgumentOutOfRangeException("Index out of range");
     }
        }
        else
        {
     foreach (TreeNodeAdv node in parent.Nodes)
     {
      foreach (object obj in e.Children)
       if (node.Tag == obj)
       {
        node.Height = node.RightBounds = null;
       }
     }
        }
 }
 protected void OnNodesRemoved(TreeModelEventArgs args)
 {
     if (NodesRemoved != null)
         NodesRemoved(this, args);
 }
Exemple #33
0
        private void NotifyNodesChanged()
        {
            if (!_notify)
                return;

            var model = FindModel();
            if (model != null)
            {
                TreePath path = model.GetPath(this);
                if (path != null)
                {
                    var args = new TreeModelEventArgs(path, new object[] { this });
                    model.RaiseNodesChanged(args);
                }
            }
        }
Exemple #34
0
 internal void RaiseNodesChanged(TreeModelEventArgs args)
 {
     base.OnNodesChanged(args);
 }
Exemple #35
0
 private void _model_NodesChanged(object sender, TreeModelEventArgs e)
 {
     TreeNodeAdv parent = FindNode(e.Path);
     if (parent != null)
     {
         if (e.Indices != null)
         {
             foreach (int index in e.Indices)
             {
                 if (index >= 0 && index < parent.Nodes.Count)
                 {
                     TreeNodeAdv node = parent.Nodes[index];
                     Rectangle rect = GetNodeBounds(node);
                     _contentWidth = Math.Max(_contentWidth, rect.Right);
                 }
                 else
                     throw new ArgumentOutOfRangeException("Index out of range");
             }
         }
         else
         {
             foreach (TreeNodeAdv node in parent.Nodes)
             {
                 foreach (object obj in e.Children)
                     if (node.Tag == obj)
                     {
                         Rectangle rect = GetNodeBounds(node);
                         _contentWidth = Math.Max(_contentWidth, rect.Right);
                     }
             }
         }
     }
     _rowLayout.ClearCache();
     SafeUpdateScrollBars();
     UpdateView();
 }
 public void OnNodeRemoved(TreeModelEventArgs args)
 {
     if (NodesRemoved != null)
     NodesRemoved(this, args);
 }
 public void OnNodeInserted(TreeModelEventArgs args)
 {
     if (NodesInserted != null)
     NodesInserted(this, args);
 }
Exemple #38
0
		internal protected virtual void OnNodeInserted(Node parent, int index, Node node)
		{
			if (NodesInserted != null)
			{
				TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node });
				NodesInserted(this, args);
			}

		}
 public void OnNodesChanged(TreeModelEventArgs args)
 {
     if (NodesChanged != null)
     NodesChanged(this, args);
 }
Exemple #40
0
		internal protected virtual void OnNodesChanged(Node parent, int index, Node node)
		{
			if (NodesChanged != null)
			{
				TreePath path = GetPath(parent);
				if (path == null) return;
				TreeModelEventArgs args = new TreeModelEventArgs(path, new int[] { index }, new object[] { node });
				NodesChanged(this, args);
			}
		}
Exemple #41
0
 internal void OnNodeRemoved(Node parent, int index, Node node)
 {
     if (NodesRemoved != null)
     {
         TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node });
         NodesRemoved(this, args);
     }
 }
Exemple #42
0
 public void OnNodesChanged(TreeModelEventArgs args)
 {
     NodesChanged?.Invoke(this, args);
 }